///
import { Worker } from 'worker_threads';
interface Job {
msg: I;
resolve: (result: any) => void;
reject: (reason: any) => void;
}
export default class WorkerPool {
numWorkers: number;
jobQueue: TransformStream, Job>;
workerQueue: TransformStream;
done: Promise;
constructor(numWorkers: number, workerFile: string);
_readLoop(): Promise;
_nextWorker(): Promise;
_terminateAll(): Promise;
join(): Promise;
dispatchJob(msg: I): Promise;
private jobPromise;
static useThisThreadAsWorker(cb: (msg: I) => O): void;
}
export {};