/** * Retry configuration */ export interface RetryConfig { maxRetries?: number; retryDelay?: number; retryDelayMultiplier?: number; maxRetryDelay?: number; retryableStatusCodes?: number[]; onRetry?: (error: Error, attempt: number, delay: number) => void; } /** * Error with retry information */ export declare class RetryableError extends Error { statusCode?: number | undefined; attempt?: number | undefined; constructor(message: string, statusCode?: number | undefined, attempt?: number | undefined); } /** * Retry utility with exponential backoff */ export declare class RetryHandler { private logger; constructor(); /** * Execute function with retry logic */ executeWithRetry(fn: () => Promise, config?: RetryConfig, signal?: AbortSignal): Promise; /** * Check if error is retryable */ private isRetryable; /** * Calculate delay with exponential backoff */ private calculateDelay; /** * Sleep with cancellation support */ private sleep; } /** * Create an AbortController with timeout */ export declare function createTimeoutSignal(timeoutMs: number): AbortController; /** * Combine multiple abort signals */ export declare function combineSignals(...signals: (AbortSignal | undefined)[]): AbortSignal; //# sourceMappingURL=retry.d.ts.map