/** * ------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. * See License in the project root for license information. * ------------------------------------------------------------------------------------------- */ import { Middleware } from "./index.js"; import { HttpClient } from "./httpClient.js"; import { BaseBearerTokenAuthenticationProvider } from "@microsoft/kiota-abstractions"; /** * * Class containing function(s) related to the middleware pipelines. */ export declare class KiotaClientFactory { /** * Returns an instance of HttpClient with the provided middlewares and custom fetch implementation both parameters are optional. * if not provided, the default fetch implementation and middlewares will be used. * @param customFetch - a Fetch API implementation * @param middlewares - an aray of Middleware handlers * If middlewares param is undefined, the httpClient instance will use the default array of middlewares. * Set middlewares to `null` if you do not wish to use middlewares. * If custom fetch is undefined, the httpClient instance uses the `DefaultFetchHandler` * @param authenticationProvider - an optional instance of BaseBearerTokenAuthenticationProvider to be used for authentication * @returns a HttpClient instance * @example * ```Typescript * // Example usage of KiotaClientFactory.create method with both customFetch and middlewares parameters provided * KiotaClientFactory.create(customFetch, [middleware1, middleware2]); * ``` * @example * ```Typescript * // Example usage of KiotaClientFactory.create method with only customFetch parameter provided * KiotaClientFactory.create(customFetch); * ``` * @example * ```Typescript * // Example usage of KiotaClientFactory.create method with only middlewares parameter provided * KiotaClientFactory.create(undefined, [middleware1, middleware2]); * ``` * @example * ```Typescript * // Example usage of KiotaClientFactory.create method with no parameters provided * KiotaClientFactory.create(); * ``` */ static create(customFetch?: (request: string, init: RequestInit) => Promise, middlewares?: Middleware[], authenticationProvider?: BaseBearerTokenAuthenticationProvider): HttpClient; } //# sourceMappingURL=kiotaClientFactory.d.ts.map