export type WorkerType = { Input: Input; Output: Output; }; export type WorkerCallback> = (input: T['Input']) => Promise<{ output: T['Output']; transfer: Transferable[]; }>; export declare function defineWorker>(callback: WorkerCallback): void; export type WorkerCreator = (workId: number) => Worker; export declare class WorkerPool> { private disposed; private pool; private queue; private workers; private workerResolvers; private workerStatus; private workerCreator; constructor(workerCreator: WorkerCreator | null, pool: number); setWorkerCreator(workerCreator: WorkerCreator): void; private initWorker; private getIdleWorker; private onMessage; postMessage(input: T['Input'], transfer?: Transferable[]): Promise; dispose(): void; }