import { TaskFn } from "../../interfaces"; type TaskErrorHandler = (err: Error) => void | Promise; type DoneFn = (err: Error, data: T) => void; interface RetryTaskOptions { taskName: string; retryCount?: number; retryIntervalInMs?: number; returnOperationResult?: boolean; } export declare class RetryTask { protected opts: RetryTaskOptions; constructor(task: TaskFn, opts: RetryTaskOptions); protected _task: TaskFn; protected _retryCount: number; protected _currentRetryCount: number; protected _retryIntervalInMs: number; taskName: string; get maxRetryCount(): number; get retryCount(): number; get retryIntervalInMs(): number; run(eachErrorHandler?: TaskErrorHandler, allFailedHandler?: TaskErrorHandler): Promise; protected execTask(done: DoneFn, eachErrorHandler: TaskErrorHandler, allFailedHandler: TaskErrorHandler): Promise; } export {};