import type { Maybe } from "../../common/Maybe";
import type { AxiosError } from 'axios';
import type { IAxiosRetryConfig } from 'axios-retry';
export declare type RetryCondition = Required<IAxiosRetryConfig>['retryCondition'];
export declare type RetryConditionOverride = (err: AxiosError) => Maybe<boolean>;
export declare class OverridableRetryCondition {
    #private;
    constructor(retryCondition?: RetryCondition);
    readonly retryCondition: RetryCondition;
    withOverride<T>({ override, action, }: WithOverrideOptions<T>): Promise<T>;
}
export interface WithOverrideOptions<T> {
    override: RetryConditionOverride;
    action: () => Promise<T>;
}
