export interface Client { request(m: Request): Promise; dispose(): void | Promise; workerCount(): number; } export interface Request { type: string; payload?: T; } export interface ResponseMessage { type: 'resp'; ok: boolean; message?: string; payload?: T; } export interface DebugMessage { type: 'debug'; msg: string; args: any[]; } export interface ProgressMessage { type: 'progress'; tick: number; } export interface TaskMessage { type: 'task'; partitions: number; taskIndex: number; tasks: number; } export declare type Response = ResponseMessage | DebugMessage | ProgressMessage | TaskMessage;