import { HeaderAuthProvider } from "./auth/HeaderAuthProvider.js"; import * as core from "./core/index.js"; import type * as environments from "./environments.js"; export type BaseClientOptions = { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ timeoutInSeconds?: number; /** The default number of times to retry the request. Defaults to 2. */ maxRetries?: number; /** Provide a custom fetch implementation. Useful for platforms that don't have a built-in fetch or need a custom implementation. */ fetch?: typeof fetch; fetcher?: core.FetchFunction; /** Configure logging for the client. */ logging?: core.logging.LogConfig | core.logging.Logger; } & HeaderAuthProvider.AuthOptions; export interface BaseRequestOptions { /** The maximum time to wait for a response in seconds. */ timeoutInSeconds?: number; /** The number of times to retry the request. Defaults to 2. */ maxRetries?: number; /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ headers?: Record | null | undefined>; } export type NormalizedClientOptions = T & { logging: core.logging.Logger; authProvider?: core.AuthProvider; }; export type NormalizedClientOptionsWithAuth = NormalizedClientOptions & { authProvider: core.AuthProvider; }; export declare function normalizeClientOptions(options: T): NormalizedClientOptions; export declare function normalizeClientOptionsWithAuth(options: T): NormalizedClientOptionsWithAuth;