export type RetryOptions = {
    /** Maximum number of attempts to make (default: 3) */
    maxAttempts?: number;
    /** Base delay between attempts (default: 250ms) */
    backoffBaseMs?: number;
    /** Maximum delay between attempts (default: 30s) */
    maxDelayMs?: number;
    /** Status codes to retry on (default: 408, 429, 500, 502, 503, 504) */
    retryOnStatus?: Set<number>;
    /** Methods to retry on (default: GET) */
    retryOnMethods?: Set<string>;
};
/** Merge user-provided retry options with sensible defaults. */
export declare function resolveRetryOptions(options?: RetryOptions): Required<RetryOptions>;
/** Wrap a fetch function with retry logic (exponential backoff, Retry-After support). */
export declare function createRetryingFetch(retryOptions?: RetryOptions, baseFetch?: typeof fetch): typeof fetch;
export type { RetryOptions as AmigoRetryOptions };
