import { AnyAuthProvider } from "./auth/AnyAuthProvider.js"; import { HeaderAuthProvider } from "./auth/HeaderAuthProvider.js"; import { OAuthAuthProvider } from "./auth/OAuthAuthProvider.js"; import * as core from "./core/index.js"; import type * as environments from "./environments.js"; export type AuthOption = false | core.AuthProvider["getAuthRequest"] | core.AuthProvider | AnyAuthProvider.AuthOptions<[HeaderAuthProvider.AuthOptions, OAuthAuthProvider.AuthOptions]>; 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; /** Configure logging for the client. */ logging?: core.logging.LogConfig | core.logging.Logger; /** Default options for SSE stream reconnection behavior. Has no effect on non-resumable endpoints. */ stream?: { reconnectionEnabled?: boolean; maxReconnectionAttempts?: number; }; /** Override auth. Pass false to disable, a function returning auth headers, an AuthProvider, or auth options. */ auth?: AuthOption; } & AnyAuthProvider.AuthOptions<[HeaderAuthProvider.AuthOptions, OAuthAuthProvider.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; /** A dictionary containing additional parameters to spread into the request's body. */ additionalBodyParameters?: Record; /** Additional headers to include in the request. */ headers?: Record | null | undefined>; /** Options for SSE stream reconnection behavior. Has no effect on non-resumable endpoints. */ stream?: { reconnectionEnabled?: boolean; maxReconnectionAttempts?: number; }; } 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;