import type { NewSessionRequest, NewSessionResponse, InitializeResponse, SessionNotification, PromptResponse, ContentBlock } from './types.js'; import { AcpProtocolError } from './types.js'; import type { AcpSpawnConfig } from './adapter.js'; export interface AcpConnectionOptions { spawn: AcpSpawnConfig; env?: Record; cwd?: string; timeoutMs?: number; onStderr?: (line: string) => void; onPid?: (pid: number) => void; configOptions?: Record; } export declare class AcpConnection { private readonly options; private proc; private sdkConnection; private disposed; private stderrBuffer; private collectedStderr; private pendingUpdateCallback; private authMethods; private _initResponse; get initResponse(): InitializeResponse | null; constructor(options: AcpConnectionOptions); connect(clientInfo?: { name: string; version: string; }): Promise; private doInitialize; newSession(params: NewSessionRequest): Promise; private newSessionWithTimeout; newSessionRaw(params: NewSessionRequest): Promise; private newSessionRawTimeout; private isAuthError; private tryAuthenticate; private hasEnvVarsFor; setModel(sessionId: string, modelId: string): Promise; setMode(sessionId: string, modeId: string): Promise; setConfigOption(sessionId: string, configId: string, value: string): Promise; prompt(sessionId: string, promptBlocks: ContentBlock[], onUpdate?: (notification: SessionNotification) => void, timeoutMs?: number): Promise; dispose(): Promise; get isConnected(): boolean; } export { AcpProtocolError };