import type { Action, IAbortable, IPausable } from '../base'; import type { ITask } from './i-task'; export interface ITaskRunner extends IAbortable, IPausable { onFree?: Action; onComplete?: Action; onError?: Action; runAsync(task: ITask, onFree?: Action, onComplete?: Action, onError?: Action): Promise; startAsync(): Promise; }