/**
 * Retry promise function
 * @param errorHandler Logic when to retry
 * @param fn the callback function
 * @signature
 *    P.retry(fn, errorHandler)
 * @example
 *    P.retry(async () => {
 *          await delay(1000)
 *          throw new Error("Failed!")
 *    }, ({ count }) => count < 10) // Retry function 10 times
 * @category Array
 */
export declare function retry<E extends (...args: any[]) => Promise<any>>(errorHandler: (stats: {
    err: Error;
    count: number;
}) => Promise<boolean> | boolean): (fn: E) => E;
export declare function retry<E extends (...args: any[]) => Promise<any>>(fn: E, errorHandler: (stats: {
    err: Error;
    count: number;
}) => Promise<boolean> | boolean): E;
//# sourceMappingURL=retry.d.ts.map