import { type RunningChildProcess } from './child-process.js'; import { ControllerAgentRuntime } from './provider-runtime.js'; import { type AgentRuntimeFollowupInput, type AgentRuntimeFollowupResult, type AgentRuntimeInput, type AgentRuntimeResult, type OpenCodeCliAgentProviderConfig } from './contract.js'; export declare function openCodeAcpLaunchArgs(): string[]; export declare function openCodeLaunchEnvironment(env: NodeJS.ProcessEnv, machineEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv; export declare class OpenCodeCliAgentRuntime extends ControllerAgentRuntime { readonly command: string; readonly env: Record | undefined; readonly kind = "opencode-cli"; private readonly config; constructor(config: OpenCodeCliAgentProviderConfig, command: string); run(input: AgentRuntimeInput): Promise; appendToActiveRun(input: AgentRuntimeFollowupInput): Promise; private ensureController; } declare class OpenCodeAcpController { private readonly child; private readonly activeToolIds; private currentTurn?; private initialized?; private latestUsage?; private configuredModel?; private readonly usageCaptureId; private usageSequence; private readonly pendingTools; private readonly quiescentWaiters; private readonly rpc; private turnCompletion?; /** True while a session/prompt RPC is outstanding. */ private promptInFlight; readonly completion: Promise<{ stdout: string; stderr: string; }>; sessionId: string; constructor(child: RunningChildProcess); ensureSession(input: AgentRuntimeInput, model: string | undefined, reasoningEffort: string | undefined): Promise; startTurn(input: AgentRuntimeInput, prompt: string): Promise; cancelActiveTurn(): Promise; appendPrompt(prompt: string): boolean; acceptStdoutChunk(chunk: string): Promise; acceptStderrChunk(chunk: string): Promise; kill(signal?: NodeJS.Signals): void; snapshot(): import("../../shared/snapshot.js").ProviderChildHealthSnapshot; waitForQuiescent(signal?: AbortSignal): Promise; private initializeSession; private createSession; private selectModel; private selectEffort; private runTurnQueue; private runOnePrompt; private handleAgentRequest; private handleNotification; private handleToolCallStart; private handleToolCallUpdate; private emitToolStarted; private abortCurrentTurn; private clearCurrentTurn; private finishCurrentTurn; private resolveQuiescentWaitersIfReady; private fail; } export {}; //# sourceMappingURL=opencode.d.ts.map