import type { CancelOptions, NetworkMode } from './types'; interface RetryerConfig { fn: () => TData | Promise; abort?: () => void; onError?: (error: TError) => void; onSuccess?: (data: TData) => void; onFail?: (failureCount: number, error: TError) => void; onPause?: () => void; onContinue?: () => void; retry?: RetryValue; retryDelay?: RetryDelayValue; networkMode: NetworkMode | undefined; } export interface Retryer { promise: Promise; cancel: (cancelOptions?: CancelOptions) => void; continue: () => Promise; cancelRetry: () => void; continueRetry: () => void; } export declare type RetryValue = boolean | number | ShouldRetryFunction; declare type ShouldRetryFunction = (failureCount: number, error: TError) => boolean; export declare type RetryDelayValue = number | RetryDelayFunction; declare type RetryDelayFunction = (failureCount: number, error: TError) => number; export declare function canFetch(networkMode: NetworkMode | undefined): boolean; export declare class CancelledError { revert?: boolean; silent?: boolean; constructor(options?: CancelOptions); } export declare function isCancelledError(value: any): value is CancelledError; export declare function createRetryer(config: RetryerConfig): Retryer; export {}; //# sourceMappingURL=retryer.d.ts.map