import type { ErrorInfo, RetryDecision, RetryPolicy } from "./contracts.js"; export interface DefaultRetryPolicyOptions { readonly name?: string; readonly maxAttempts?: number; readonly baseDelayMs?: number; readonly maxDelayMs?: number; readonly transientCodes?: readonly (string | number)[]; /** Symmetric jitter fraction applied to computed delays (default 0.25 → ±25%). * Prevents thundering-herd retries under a shared outage. Set 0 to disable. */ readonly jitter?: number; /** Random source for jitter (tests); defaults to Math.random. */ readonly random?: () => number; } export declare function createDefaultRetryPolicy(options?: DefaultRetryPolicyOptions): RetryPolicy; export declare function isTransientErrorInfo(error: ErrorInfo, transientCodes?: ReadonlySet): boolean; export declare function waitForRetry(decision: RetryDecision, signal?: AbortSignal): Promise;