export interface BackoffOptions { baseDelayMs: number; attempt: number; jitter?: boolean; /** * Upper bound (ms) applied to the exponential base delay BEFORE jitter. * Omit for an uncapped backoff. * * Capping before jitter (rather than after) keeps the result a true * fraction of the intended ceiling and, crucially, prevents * `baseDelayMs * 2 ** attempt` from overflowing to Infinity at high attempt * counts — important for callers that retry forever (e.g. ws-reconnect with * maxRetries = Infinity). */ maxDelayMs?: number; } export declare function calculateBackoff(options: BackoffOptions): number; export interface RetryOptions { maxRetries: number; baseDelayMs: number; } export declare class RetryStrategy { private readonly options; constructor(options: RetryOptions); shouldRetry(error: unknown): boolean; withRetry(fn: () => Promise): Promise; } //# sourceMappingURL=retry-strategy.d.ts.map