export interface ITaskResponse { data?: any; error?: Error; } export interface ITask { id?: number; fn?: Function; group?: string; } export declare type ITaskOperation = 'finished'; export interface ITaskChange { type: ITaskOperation; taskId: number; error?: Error; data?: any; } export interface ITaskWorker { group?: string; busy?: boolean; index?: number; paused?: boolean; } export declare type ITasksGroupFilter = (worker: ITaskWorker, group: string) => boolean; export interface ITaskHandlerEvent { instance: T; taskId: number; workerIndex: number; } export declare type ITaskHandler = (e: ITaskHandlerEvent) => any;