/** * Retry strategies for different scenarios */ import type { ApiError, RetryConfig } from '../types'; /** * Exponential backoff strategy */ export declare function exponentialBackoff(baseDelay?: number, maxDelay?: number, multiplier?: number): (retryCount: number) => number; /** * Linear backoff strategy */ export declare function linearBackoff(baseDelay?: number, increment?: number): (retryCount: number) => number; /** * Fixed delay strategy */ export declare function fixedDelay(delay?: number): (retryCount: number) => number; /** * Jittered exponential backoff to avoid thundering herd */ export declare function jitteredExponentialBackoff(baseDelay?: number, maxDelay?: number, jitterFactor?: number): (retryCount: number) => number; /** * Retry condition for network errors only */ export declare function networkErrorsOnly(error: ApiError): boolean; /** * Retry condition for server errors only */ export declare function serverErrorsOnly(error: ApiError): boolean; /** * Retry condition for specific status codes */ export declare function statusCodesOnly(codes: number[]): (error: ApiError) => boolean; /** * Retry condition for timeout errors */ export declare function timeoutErrorsOnly(error: ApiError): boolean; /** * Retry condition that respects Retry-After headers */ export declare function respectRetryAfter(error: ApiError): boolean; /** * Comprehensive retry condition for production use */ export declare function productionRetryCondition(error: ApiError): boolean; /** * Conservative retry condition for critical operations */ export declare function conservativeRetryCondition(error: ApiError): boolean; /** * Aggressive retry condition for non-critical operations */ export declare function aggressiveRetryCondition(error: ApiError): boolean; /** * Creates a retry strategy that respects Retry-After headers */ export declare function createRetryAfterStrategy(): RetryConfig; /** * Creates a retry strategy for API rate limiting */ export declare function createRateLimitStrategy(): RetryConfig; /** * Creates a retry strategy for unreliable networks */ export declare function createUnreliableNetworkStrategy(): RetryConfig; /** * Creates a retry strategy for critical operations */ export declare function createCriticalOperationStrategy(): RetryConfig; /** * Creates a retry strategy for background operations */ export declare function createBackgroundOperationStrategy(): RetryConfig; //# sourceMappingURL=retry-strategies.d.ts.map