import type { SharedRunRequest } from "./protocol.js"; import type { InteractiveProcessResult } from "../runtime/interactive-process.js"; import type { PiIntegrationTestOptions } from "../scenario/types.js"; /** * Stable identity of one shared Pi process configuration. * Two requests with equal keys reuse the same pooled Pi process. */ export declare function sharedRunnerConfigKey(options: PiIntegrationTestOptions): string; export declare class SharedPiProcess { private liveTuiOutput; private pi; private piExit; private piExitSubscription; private processGeneration; private piExited; private renderer; private sharedRoot; private terminalOutput; private frameExtractor; private frameTimestamps; private workspaceRoot; private closePromise; cancelLiveOutput(): void; run(request: SharedRunRequest): Promise; close(): Promise; private closeProcess; private ensureProcess; }