/**
 * Retry wrapper with exponential backoff.
 *
 * Retries transient failures (5xx, network errors) but bails immediately
 * on client errors (4xx except 429) since retrying won't help.
 */
export interface RetryOptions {
    retries?: number;
    baseDelayMs?: number;
    label?: string;
}
export declare function withRetry<T>(fn: () => Promise<T>, opts?: RetryOptions): Promise<T>;
