import type RateLimiter from "./rate_limiter";
export type RetryWithBackoffOptions = {
    maxRetries: number;
    baseDelayMs?: number;
    maxDelayMs?: number;
    rateLimiter?: RateLimiter;
    verbose?: boolean;
};
/** Detects provider rate-limit errors across OpenAI, Anthropic, and Gemini shapes. */
export declare function isRateLimitError(err: unknown): boolean;
/** Reads a Retry-After header (seconds or HTTP-date) off an SDK error. */
export declare function extractRetryAfterMs(err: unknown): number | null;
/** Retries `job` with full-jitter exponential backoff; penalizes the shared limiter on 429s. */
export declare function retryWithBackoff<T>(job: () => Promise<T>, options: RetryWithBackoffOptions): Promise<T>;
