/** * Sistema de reintentos con exponential backoff * Maneja errores temporales y códigos de estado retryables */ import type { Logger } from './logger'; export interface RetryConfig { maxRetries: number; initialDelayMs: number; maxDelayMs: number; backoffMultiplier: number; retryableStatusCodes: number[]; retryableErrors?: string[]; logger?: Logger; onRetry?: (attempt: number, error: any, delay: number) => void; } export declare const DEFAULT_RETRY_CONFIG: RetryConfig; export declare function withRetry(fn: () => Promise, config?: Partial): Promise; /** * Clase para configurar reintentos de forma más declarativa */ export declare class RetryPolicy { private config; constructor(config?: Partial); withMaxRetries(maxRetries: number): this; withInitialDelay(delayMs: number): this; withMaxDelay(delayMs: number): this; withBackoffMultiplier(multiplier: number): this; withRetryableStatusCodes(codes: number[]): this; withLogger(logger: Logger): this; onRetry(callback: (attempt: number, error: any, delay: number) => void): this; execute(fn: () => Promise): Promise; } //# sourceMappingURL=retry.d.ts.map