import { type BackoffPolicy, type ResolvedBackoffPolicy } from './backoff.js';
export interface HttpRetryPolicy extends BackoffPolicy {
    readonly retryOnStatuses?: readonly number[];
    readonly retryOnMethods?: readonly string[];
    readonly retryOnNetworkError?: boolean;
}
export interface ResolvedHttpRetryPolicy extends ResolvedBackoffPolicy {
    readonly retryOnStatuses: readonly number[];
    readonly retryOnMethods: readonly string[];
    readonly retryOnNetworkError: boolean;
}
export declare const DEFAULT_HTTP_RETRY_POLICY: ResolvedHttpRetryPolicy;
export declare function normalizeHttpRetryPolicy(policy?: HttpRetryPolicy): ResolvedHttpRetryPolicy;
export declare function resolveHttpRetryPolicy(defaultPolicy?: HttpRetryPolicy, override?: false | HttpRetryPolicy): ResolvedHttpRetryPolicy;
export declare function getHttpRetryDelay(attempt: number, policy: ResolvedHttpRetryPolicy): number;
export declare function isRetryableHttpStatus(method: string, status: number, policy: ResolvedHttpRetryPolicy): boolean;
export declare function isRetryableNetworkError(method: string, policy: ResolvedHttpRetryPolicy): boolean;
//# sourceMappingURL=retry.d.ts.map