export declare type ErrorEvaluator = (error: any) => boolean;
export declare type IncrementResolver = (lastValue: number) => number;
export declare type RetriableFunction<R = void> = (() => Promise<R>) | (() => R);
export declare type InsistentOptions = {
    retryWhen?: ErrorEvaluator;
    maxRetries?: number;
    retryInterval?: number;
    incrementIntervalWith?: IncrementResolver;
};
export declare function insistOn<R = void>(targetFn: RetriableFunction<R>, options?: InsistentOptions): Promise<R>;
export declare function createInsistent(defaultOptions: InsistentOptions): (typeof insistOn);
//# sourceMappingURL=index.d.ts.map