import { NonRetryableProviderError } from "../errors.ts"; import type { OpenAICodexStreamOptions } from "../types.ts"; export declare function codexStreamMaxRetries(options: OpenAICodexStreamOptions | undefined): number; export declare function retryAdviceRecoveryBudgetError(error: unknown): NonRetryableProviderError; export declare class CodexRecoveryBudget { private overloadRetryCount; private adviceStartedAt; private adviceController; private adviceTimer; private readonly callerSignal; recoveryDeadlineAt: number | undefined; recoveryController: AbortController | undefined; private recoveryTimer; constructor(callerSignal?: AbortSignal); close(): void; signal: () => { signal: AbortSignal; cleanup: () => void; } | undefined; start: (freshWindow?: boolean) => void; deadlineError: () => NonRetryableProviderError; private adviceExpired; expired: () => boolean; planRetry: (error: unknown, retryCount: number) => { overload: boolean; serverDirected: boolean; adviceBudgetExhausted: boolean; delayMs: number | undefined; }; waitBeforeRetry: (error: unknown, retryCount: number, plan?: { overload: boolean; serverDirected: boolean; adviceBudgetExhausted: boolean; delayMs: number | undefined; }, switchingOnExpiry?: boolean) => Promise; }