import { MachinePresetResources, ServerBackgroundWorker, WorkerManifest } from "@trigger.dev/core/v3"; import { TaskRunProcess } from "../executions/taskRunProcess.js"; export type TaskRunProcessPoolOptions = { env: Record; cwd: string; enableProcessReuse: boolean; maxPoolSize?: number; maxExecutionsPerProcess?: number; }; export declare class TaskRunProcessPool { private availableProcessesByVersion; private busyProcessesByVersion; private readonly options; private readonly maxPoolSize; private readonly maxExecutionsPerProcess; private readonly executionCountsPerProcess; private readonly deprecatedVersions; private readonly idleTimers; private static readonly IDLE_TIMEOUT_MS; constructor(options: TaskRunProcessPoolOptions); deprecateVersion(version: string): void; getProcess(workerManifest: WorkerManifest, serverWorker: ServerBackgroundWorker, machineResources: MachinePresetResources, env?: Record, cwd?: string): Promise<{ taskRunProcess: TaskRunProcess; isReused: boolean; }>; returnProcess(process: TaskRunProcess, version: string): Promise; private findReusableProcess; private shouldReuseProcess; private isProcessHealthy; private startIdleTimer; private clearIdleTimer; private killProcess; shutdown(): Promise; getStats(): { availableCount: number; busyCount: number; totalCount: number; byVersion: Record; }; }