// <auto-generated/>
#pragma warning disable CS0618
using Marechai.App.Auth;
using Marechai.App.Books;
using Marechai.App.BrowserTests;
using Marechai.App.Companies;
using Marechai.App.Computers;
using Marechai.App.Consoles;
using Marechai.App.Countries;
using Marechai.App.Currencies;
using Marechai.App.Documents;
using Marechai.App.Dumps;
using Marechai.App.Gpus;
using Marechai.App.InstructionSetExtensions;
using Marechai.App.InstructionSetExtensionsByProcessor;
using Marechai.App.InstructionSets;
using Marechai.App.Iso31661Numeric;
using Marechai.App.Iso4217;
using Marechai.App.Licenses;
using Marechai.App.MachineFamilies;
using Marechai.App.Machines;
using Marechai.App.Magazines;
using Marechai.App.MagazinesByMachine;
using Marechai.App.MagazinesByMachineFamily;
using Marechai.App.Medias;
using Marechai.App.MemoriesByMachine;
using Marechai.App.News;
using Marechai.App.People;
using Marechai.App.PeopleByBook;
using Marechai.App.PeopleByDocument;
using Marechai.App.PeopleByMagazine;
using Marechai.App.Processor;
using Marechai.App.Processors;
using Marechai.App.ProcessorsByMachine;
using Marechai.App.Resolutions;
using Marechai.App.ResolutionsByGpu;
using Marechai.App.ResolutionsByScreen;
using Marechai.App.Screens;
using Marechai.App.ScreensByMachine;
using Marechai.App.Software;
using Marechai.App.SoundSynths;
using Marechai.App.SoundSynthsByMachine;
using Marechai.App.StorageByMachine;
using Marechai.App.Users;
using Microsoft.Kiota.Abstractions.Extensions;
using Microsoft.Kiota.Abstractions;
using Microsoft.Kiota.Serialization.Form;
using Microsoft.Kiota.Serialization.Json;
using Microsoft.Kiota.Serialization.Multipart;
using Microsoft.Kiota.Serialization.Text;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using System;
namespace Marechai.App
{
    /// <summary>
    /// The main entry point of the SDK, exposes the configuration and the fluent API.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
    public partial class ApiClient : BaseRequestBuilder
    {
        /// <summary>The auth property</summary>
        public global::Marechai.App.Auth.AuthRequestBuilder Auth
        {
            get => new global::Marechai.App.Auth.AuthRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The books property</summary>
        public global::Marechai.App.Books.BooksRequestBuilder Books
        {
            get => new global::Marechai.App.Books.BooksRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The browserTests property</summary>
        public global::Marechai.App.BrowserTests.BrowserTestsRequestBuilder BrowserTests
        {
            get => new global::Marechai.App.BrowserTests.BrowserTestsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The companies property</summary>
        public global::Marechai.App.Companies.CompaniesRequestBuilder Companies
        {
            get => new global::Marechai.App.Companies.CompaniesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The computers property</summary>
        public global::Marechai.App.Computers.ComputersRequestBuilder Computers
        {
            get => new global::Marechai.App.Computers.ComputersRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The consoles property</summary>
        public global::Marechai.App.Consoles.ConsolesRequestBuilder Consoles
        {
            get => new global::Marechai.App.Consoles.ConsolesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The countries property</summary>
        public global::Marechai.App.Countries.CountriesRequestBuilder Countries
        {
            get => new global::Marechai.App.Countries.CountriesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The currencies property</summary>
        public global::Marechai.App.Currencies.CurrenciesRequestBuilder Currencies
        {
            get => new global::Marechai.App.Currencies.CurrenciesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The documents property</summary>
        public global::Marechai.App.Documents.DocumentsRequestBuilder Documents
        {
            get => new global::Marechai.App.Documents.DocumentsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The dumps property</summary>
        public global::Marechai.App.Dumps.DumpsRequestBuilder Dumps
        {
            get => new global::Marechai.App.Dumps.DumpsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The gpus property</summary>
        public global::Marechai.App.Gpus.GpusRequestBuilder Gpus
        {
            get => new global::Marechai.App.Gpus.GpusRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The instructionSetExtensions property</summary>
        public global::Marechai.App.InstructionSetExtensions.InstructionSetExtensionsRequestBuilder InstructionSetExtensions
        {
            get => new global::Marechai.App.InstructionSetExtensions.InstructionSetExtensionsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The instructionSetExtensionsByProcessor property</summary>
        public global::Marechai.App.InstructionSetExtensionsByProcessor.InstructionSetExtensionsByProcessorRequestBuilder InstructionSetExtensionsByProcessor
        {
            get => new global::Marechai.App.InstructionSetExtensionsByProcessor.InstructionSetExtensionsByProcessorRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The instructionSets property</summary>
        public global::Marechai.App.InstructionSets.InstructionSetsRequestBuilder InstructionSets
        {
            get => new global::Marechai.App.InstructionSets.InstructionSetsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The iso31661Numeric property</summary>
        public global::Marechai.App.Iso31661Numeric.Iso31661NumericRequestBuilder Iso31661Numeric
        {
            get => new global::Marechai.App.Iso31661Numeric.Iso31661NumericRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The iso4217 property</summary>
        public global::Marechai.App.Iso4217.Iso4217RequestBuilder Iso4217
        {
            get => new global::Marechai.App.Iso4217.Iso4217RequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The licenses property</summary>
        public global::Marechai.App.Licenses.LicensesRequestBuilder Licenses
        {
            get => new global::Marechai.App.Licenses.LicensesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The machineFamilies property</summary>
        public global::Marechai.App.MachineFamilies.MachineFamiliesRequestBuilder MachineFamilies
        {
            get => new global::Marechai.App.MachineFamilies.MachineFamiliesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The machines property</summary>
        public global::Marechai.App.Machines.MachinesRequestBuilder Machines
        {
            get => new global::Marechai.App.Machines.MachinesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The magazines property</summary>
        public global::Marechai.App.Magazines.MagazinesRequestBuilder Magazines
        {
            get => new global::Marechai.App.Magazines.MagazinesRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The magazinesByMachine property</summary>
        public global::Marechai.App.MagazinesByMachine.MagazinesByMachineRequestBuilder MagazinesByMachine
        {
            get => new global::Marechai.App.MagazinesByMachine.MagazinesByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The magazinesByMachineFamily property</summary>
        public global::Marechai.App.MagazinesByMachineFamily.MagazinesByMachineFamilyRequestBuilder MagazinesByMachineFamily
        {
            get => new global::Marechai.App.MagazinesByMachineFamily.MagazinesByMachineFamilyRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The medias property</summary>
        public global::Marechai.App.Medias.MediasRequestBuilder Medias
        {
            get => new global::Marechai.App.Medias.MediasRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The memoriesByMachine property</summary>
        public global::Marechai.App.MemoriesByMachine.MemoriesByMachineRequestBuilder MemoriesByMachine
        {
            get => new global::Marechai.App.MemoriesByMachine.MemoriesByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The news property</summary>
        public global::Marechai.App.News.NewsRequestBuilder News
        {
            get => new global::Marechai.App.News.NewsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The people property</summary>
        public global::Marechai.App.People.PeopleRequestBuilder People
        {
            get => new global::Marechai.App.People.PeopleRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The peopleByBook property</summary>
        public global::Marechai.App.PeopleByBook.PeopleByBookRequestBuilder PeopleByBook
        {
            get => new global::Marechai.App.PeopleByBook.PeopleByBookRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The peopleByDocument property</summary>
        public global::Marechai.App.PeopleByDocument.PeopleByDocumentRequestBuilder PeopleByDocument
        {
            get => new global::Marechai.App.PeopleByDocument.PeopleByDocumentRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The peopleByMagazine property</summary>
        public global::Marechai.App.PeopleByMagazine.PeopleByMagazineRequestBuilder PeopleByMagazine
        {
            get => new global::Marechai.App.PeopleByMagazine.PeopleByMagazineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The processor property</summary>
        public global::Marechai.App.Processor.ProcessorRequestBuilder Processor
        {
            get => new global::Marechai.App.Processor.ProcessorRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The processors property</summary>
        public global::Marechai.App.Processors.ProcessorsRequestBuilder Processors
        {
            get => new global::Marechai.App.Processors.ProcessorsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The processorsByMachine property</summary>
        public global::Marechai.App.ProcessorsByMachine.ProcessorsByMachineRequestBuilder ProcessorsByMachine
        {
            get => new global::Marechai.App.ProcessorsByMachine.ProcessorsByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The resolutions property</summary>
        public global::Marechai.App.Resolutions.ResolutionsRequestBuilder Resolutions
        {
            get => new global::Marechai.App.Resolutions.ResolutionsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The resolutionsByGpu property</summary>
        public global::Marechai.App.ResolutionsByGpu.ResolutionsByGpuRequestBuilder ResolutionsByGpu
        {
            get => new global::Marechai.App.ResolutionsByGpu.ResolutionsByGpuRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The resolutionsByScreen property</summary>
        public global::Marechai.App.ResolutionsByScreen.ResolutionsByScreenRequestBuilder ResolutionsByScreen
        {
            get => new global::Marechai.App.ResolutionsByScreen.ResolutionsByScreenRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The screens property</summary>
        public global::Marechai.App.Screens.ScreensRequestBuilder Screens
        {
            get => new global::Marechai.App.Screens.ScreensRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The screensByMachine property</summary>
        public global::Marechai.App.ScreensByMachine.ScreensByMachineRequestBuilder ScreensByMachine
        {
            get => new global::Marechai.App.ScreensByMachine.ScreensByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The software property</summary>
        public global::Marechai.App.Software.SoftwareRequestBuilder Software
        {
            get => new global::Marechai.App.Software.SoftwareRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The soundSynths property</summary>
        public global::Marechai.App.SoundSynths.SoundSynthsRequestBuilder SoundSynths
        {
            get => new global::Marechai.App.SoundSynths.SoundSynthsRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The soundSynthsByMachine property</summary>
        public global::Marechai.App.SoundSynthsByMachine.SoundSynthsByMachineRequestBuilder SoundSynthsByMachine
        {
            get => new global::Marechai.App.SoundSynthsByMachine.SoundSynthsByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The storageByMachine property</summary>
        public global::Marechai.App.StorageByMachine.StorageByMachineRequestBuilder StorageByMachine
        {
            get => new global::Marechai.App.StorageByMachine.StorageByMachineRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>The users property</summary>
        public global::Marechai.App.Users.UsersRequestBuilder Users
        {
            get => new global::Marechai.App.Users.UsersRequestBuilder(PathParameters, RequestAdapter);
        }
        /// <summary>
        /// Instantiates a new <see cref="global::Marechai.App.ApiClient"/> and sets the default values.
        /// </summary>
        /// <param name="requestAdapter">The request adapter to use to execute the requests.</param>
        public ApiClient(IRequestAdapter requestAdapter) : base(requestAdapter, "{+baseurl}", new Dictionary<string, object>())
        {
            ApiClientBuilder.RegisterDefaultSerializer<JsonSerializationWriterFactory>();
            ApiClientBuilder.RegisterDefaultSerializer<TextSerializationWriterFactory>();
            ApiClientBuilder.RegisterDefaultSerializer<FormSerializationWriterFactory>();
            ApiClientBuilder.RegisterDefaultSerializer<MultipartSerializationWriterFactory>();
            ApiClientBuilder.RegisterDefaultDeserializer<JsonParseNodeFactory>();
            ApiClientBuilder.RegisterDefaultDeserializer<TextParseNodeFactory>();
            ApiClientBuilder.RegisterDefaultDeserializer<FormParseNodeFactory>();
            if (string.IsNullOrEmpty(RequestAdapter.BaseUrl))
            {
                RequestAdapter.BaseUrl = "http://localhost:5023";
            }
            PathParameters.TryAdd("baseurl", RequestAdapter.BaseUrl);
        }
    }
}
#pragma warning restore CS0618
