import { type RunningChildProcess } from './child-process.js'; import { createClaudeJsonlActivityMapper } from './claude-events.js'; import { ControllerAgentRuntime } from './provider-runtime.js'; import { AgentRuntimeFollowupInput, AgentRuntimeFollowupResult, AgentRuntimeInput, AgentRuntimeResult, ClaudeCodeAgentProviderConfig } from './contract.js'; export declare class ClaudeCodeAgentRuntime extends ControllerAgentRuntime { readonly command: string; readonly env: Record; readonly kind = "claude-code"; private readonly config; constructor(config: ClaudeCodeAgentProviderConfig, command: string); run(input: AgentRuntimeInput): Promise; appendToActiveRun(input: AgentRuntimeFollowupInput): Promise; private ensureController; private runTurn; private claudeArgs; } declare class ClaudeStreamJsonController { private readonly child; private readonly activeToolUseIds; private backgroundTasksActive; private readonly stdoutLines; private compacting; private stderrText; private currentTurn?; private readonly queuedMessages; private readonly quiescentWaiters; private startedSession; constructor(child: RunningChildProcess); get completion(): Promise<{ stdout: string; stderr: string; }>; hasStartedSession(): boolean; snapshot(): import("../../shared/snapshot.js").ProviderChildHealthSnapshot; startTurn(input: AgentRuntimeInput, jsonlMapper: ReturnType): Promise; writeUserMessage(text: string): Promise; abortCurrentTurn(error: unknown): void; private sendUserMessage; kill(signal?: NodeJS.Signals): void; waitForQuiescent(signal?: AbortSignal): Promise; isQuiescent(): boolean; acceptStdoutChunk(chunk: string): Promise; acceptStderrChunk(chunk: string): Promise; private parseStdoutLine; private acceptStdoutValue; private resolveCurrentTurn; private rejectCurrentTurn; private flushQueuedMessages; private inputGateClosed; private updateInputGate; private resolveQuiescentWaitersIfReady; private rejectQuiescentWaiters; private rejectQueuedMessages; } export {}; //# sourceMappingURL=claude.d.ts.map