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;
}