import type { PiIntegrationTestProviderMode, PiIntegrationTestThinkingLevel, TraceEvent, TuiSize } from "../scenario/types.js"; import type { IPty } from "node-pty"; export interface InteractiveProcessOptions { readonly tuiSize?: TuiSize; readonly cwd: string; readonly piCommand: string; readonly harnessExtension: string; readonly extensions: readonly string[]; readonly skills?: readonly string[]; readonly systemPrompt?: string; readonly appendSystemPrompt?: readonly string[]; readonly model?: string; readonly sessionDir: string; readonly configPath: string; readonly tracePath: string; readonly tuiRenderedOutputPath: string; readonly terminalOutputPath: string; readonly environment?: NodeJS.ProcessEnv; readonly isolateUserResources: boolean; readonly prompt: string; readonly timeoutMs: number; readonly expectedProviderRequestCount: number; readonly providerMode: PiIntegrationTestProviderMode; readonly thinking?: PiIntegrationTestThinkingLevel; } export interface InteractiveProcessResult { readonly frameDelaysMs: readonly number[]; readonly terminalOutput: string; readonly tuiSize: TuiSize; readonly tuiRenderedOutput: string; readonly traceEvents: readonly TraceEvent[]; readonly exitCode: number | null; } export declare function runInteractiveProcess(options: InteractiveProcessOptions): Promise; export declare function stopPty(pty: Pick, platform?: NodeJS.Platform): void;