export declare const MAX_PROVIDER_KEYS = 10; export declare const MULTI_KEY_ATTEMPTS = 2; export declare const RATE_LIMIT_RETRY_WAIT_MS: readonly number[]; export declare function rateLimitRetryWaitMs(attempt: number, maxMs?: number): number; export declare function providerRetryAfterMs(error: unknown): number | undefined; export declare function rateLimitWaitMsFor(error: unknown, attempt: number, maxMs?: number): number; export declare function buildKeyAttemptPlan(n: number, startIndex: number): number[]; export declare function attemptsPerKey(keyCount: number, singleKeyMaxAttempts: number): number; export declare function isAuthKeyError(error: unknown): boolean; export declare function isQuotaKeyError(error: unknown): boolean; export declare function isImmediateKeySwitchError(error: unknown): boolean; export declare function isKeyRotatableError(error: unknown, isRetriable: (e: unknown) => boolean): boolean; export declare function isKeyCircleStopError(error: unknown): boolean; export type ProviderKeyEventType = "using" | "retry" | "switch" | "endpoint" | "exhausted"; export interface ProviderKeyEvent { readonly type: ProviderKeyEventType; readonly provider: string; readonly maskedTail: string; readonly reason?: string | undefined; readonly waitMs?: number | undefined; readonly keyIndex?: number | undefined; readonly keyCount?: number | undefined; } export declare function formatKeyEventStatus(event: ProviderKeyEvent): string; export declare function isProviderFailureStatus(text: string): boolean;