import { type RunningChildProcess } from './child-process.js'; import type { AgentRuntimeInput } from './contract.js'; import type { ProviderChildHealthSnapshot } from '../../shared/snapshot.js'; import type { ProviderSessionCorruptionReason } from './session-corruption.js'; interface CodexThread { id: string; } export declare class CodexAppServerController { private readonly child; private readonly runtimeKind; private readonly configuredModel?; private readonly onSessionCorruption?; private activeInput?; private readonly stdoutLines; private initialized; private nextId; private readonly pending; private readonly completedTurns; private readonly linkedTextByItem; private readonly textByTurn; private readonly usageByTurn; private readonly activeProviderToolIds; private readonly pendingSubagentSpawns; private readonly recordedSubagentChildren; private readonly recordedSubagentParents; private readonly providerToolsById; private readonly recordedWebSearchDetails; private readonly quiescentWaiters; private currentTurn?; private sessionCorruptionReported; private stderrTail; private sessionFilePath?; threadId: string; readonly completion: Promise<{ stdout: string; stderr: string; }>; constructor(child: RunningChildProcess, runtimeKind: string, configuredModel?: string | undefined, onSessionCorruption?: ((reason: ProviderSessionCorruptionReason) => void) | undefined); ensureThread(input: AgentRuntimeInput, params: Record): Promise; attachRun(input: AgentRuntimeInput): void; detachRun(input: AgentRuntimeInput): void; initialize(): Promise; startThread(params: Record): Promise; resumeThread(threadId: string, params: Record): Promise; startTurn(params: Record, input: AgentRuntimeInput, onText: (text: string) => Promise): Promise; activeTurnId(): Promise | undefined; waitForQuiescent(signal?: AbortSignal): Promise; request(method: string, params: Record | undefined): Promise; kill(signal?: NodeJS.Signals): void; snapshot(): ProviderChildHealthSnapshot; private notify; private rejectOpenWaiters; acceptStdoutChunk(chunk: string): Promise; acceptStderrChunk(chunk: string): Promise; private acceptLine; private acceptNotification; private resolveQuiescentWaitersIfReady; private rejectQuiescentWaiters; private acceptAgentMessageDelta; private flushLinkedAgentText; private acceptRawResponseItem; private recordSessionFileDetails; private recordSubagentParentTool; private recordSpawnedSubagent; private readSubagentThreadMetadata; } export {}; //# sourceMappingURL=codex-app-server.d.ts.map