/// import { AxiosError, AxiosInstance } from 'axios'; import https from 'https'; import { AuthType } from './auth-v2'; export type RetryConfig = { retries: number; retryDelay: (retryCount: number, error: AxiosError) => number; retryCondition?: (error: AxiosError) => boolean | Promise; }; export type AuthConfig = { useCredentialsCaching: boolean; type: AuthType; }; type ApiFunction = (api: AxiosInstance) => Promise; export declare abstract class BaseApiClient { private api; private session; private sessionV2; private apiSecret; private httpsAgent?; private retryConfig; private authConfig; protected apiKey: string; protected abstract getPoolId(): string; protected abstract getPoolClientId(): string; protected abstract getApiUrl(type?: AuthType): string; constructor(params: { apiKey: string; apiSecret: string; httpsAgent?: https.Agent; retryConfig?: Partial; authConfig?: AuthConfig; }); private getAccessToken; private getAccessTokenV2; private refreshSession; private refreshSessionV2; protected init(): Promise; protected refresh(overrides?: { headers?: Record; }): Promise; private withRetry; protected apiCall(apiFunction: ApiFunction): Promise; } export declare const exponentialDelay: (retryNumber?: number, _error?: AxiosError | undefined, delayFactor?: number) => number; export {}; //# sourceMappingURL=client.d.ts.map