import { EventDispatcher } from "three";
interface WorkerPoolEvent {
    "release": {
        worker: Worker;
    };
}
export declare class WorkerPool extends EventDispatcher<WorkerPoolEvent> {
    max: number;
    workerConstructor?: () => Worker;
    pool: {
        worker: Worker;
        state: "leisure" | "used";
    }[];
    constructor(max: number | undefined, workerConstructor: () => Worker);
    getWorker(): Promise<Worker>;
    releaseWorker(worker: Worker): void;
    dispose(): void;
}
export {};
