import type { WorkerTaskWithId, WorkerTaskResult } from "./NpmTarballWorkerPool.class.ts";
export interface WorkerHandle {
    isAvailable: boolean;
    execute(task: WorkerTaskWithId): void;
    terminate(): Promise<number>;
}
export interface PooledWorkerEvents {
    onComplete: (worker: WorkerHandle, result: WorkerTaskResult) => void;
    onError: (worker: WorkerHandle, error: Error, taskId: string | null) => void;
}
export declare class PooledWorker implements WorkerHandle {
    #private;
    constructor(workerPath: string, events: PooledWorkerEvents);
    get isAvailable(): boolean;
    execute(task: WorkerTaskWithId): void;
    terminate(): Promise<number>;
}
//# sourceMappingURL=PooledWorker.class.d.ts.map