export interface RetryOptions { maxRetries?: number; baseDelay?: number; maxDelay?: number; backoffMultiplier?: number; retryCondition?: (error: unknown) => boolean; onRetry?: (attempt: number, error: unknown, delay: number) => void; onMaxRetriesExceeded?: (error: unknown, attempts: number) => void; } export declare class RetryManager { private static readonly DEFAULT_OPTIONS; /** * Executes a function with retry logic * @param fn The function to execute * @param options Retry configuration options * @returns Promise that resolves with the function result or rejects after max retries */ static execute(fn: () => Promise, options?: RetryOptions): Promise; /** * Executes a function with retry logic and continues on failure * @param fn The function to execute * @param options Retry configuration options * @returns Promise that resolves with the function result or null if all retries failed */ static executeWithFallback(fn: () => Promise, options?: RetryOptions): Promise; /** * Utility method to sleep for a given duration * @param ms Duration in milliseconds */ private static sleep; } /** * Convenience function for simple retry operations * @param fn The function to execute * @param maxRetries Maximum number of retry attempts * @param delay Delay between retries in milliseconds * @returns Promise that resolves with the function result */ export declare function retry(fn: () => Promise, maxRetries?: number, delay?: number): Promise; /** * Convenience function for retry with exponential backoff * @param fn The function to execute * @param maxRetries Maximum number of retry attempts * @param baseDelay Base delay in milliseconds * @returns Promise that resolves with the function result */ export declare function retryWithBackoff(fn: () => Promise, maxRetries?: number, baseDelay?: number): Promise; //# sourceMappingURL=RetryManager.d.ts.map