import type { Action, IAbortable, IPausable, ProgressCallback } from '../base'; import type { ITask } from './i-task'; export interface ITaskScheduler extends IAbortable, IPausable { onProgress?: ProgressCallback; onComplete?: Action; onError?: Action; scheduleAsync(tasks: Array, onProgress?: ProgressCallback, onComplete?: Action, onError?: Action): Promise; recoverAsync(tasks: Array, onProgress?: ProgressCallback, onComplete?: Action, onError?: Action): Promise; startAsync(): Promise; }