export interface RetryOptions { retries?: number; minDelayMs?: number; maxDelayMs?: number; factor?: number; jitter?: number; signal?: AbortSignal; shouldRetry?: (error: unknown, attempt: number) => boolean; getDelayMs?: (error: unknown, attempt: number, defaultDelayMs: number) => number; onRetry?: (info: { error: unknown; attempt: number; nextAttempt: number; delayMs: number; }) => void; } export declare function retry(fn: (attempt: number) => Promise | Type, options?: RetryOptions): Promise;