interface ITaskProps { poolLimit?: number; breakWhenError?: boolean; } declare class TaskManager { private static _instance; private _tasks; private poolLimit; private taskPool; private breakWhenError; constructor(props?: ITaskProps); static get shared(): TaskManager; addTask(task: () => R | Promise): void; addTask(task: (arg0: A0, ...args: A) => R | Promise, arg0: A0): void; addTask(task: (arg0: A0, arg1: A1, ...args: A) => R | Promise, arg0: A0, arg1: A1): void; addTask(task: (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R | Promise, arg0: A0, arg1: A1, arg2: A2): void; addTask(task: (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R | Promise, arg0: A0, arg1: A1, arg2: A2, arg3: A3): void; runAllAsync(poolLimit?: number): Promise; abortAsyncTask(): Promise; runAllSerial(): Promise; } export default TaskManager;