import { ComputationPlan } from './plan.js';
type InferInput<P> = P extends ComputationPlan<any, any, infer I> ? I : never;
type InferOutput<P> = P extends ComputationPlan<any, infer R, any> ? R : never;
export declare class ComputationalPlanExecutor {
    #private;
    execute<P extends ComputationPlan<any, any, any>>(plan: P, input: InferInput<P>): Promise<InferOutput<P>>;
    terminate(): Promise<void>;
    workerFreeStatus(): number[];
    constructor(poolSize: number);
}
export {};
