import { ToolAdapter, SendOptions } from './base.js'; /** * Adapter for Claude Code CLI * * Claude Code supports: * - Non-interactive mode via -p/--print flag * - Output formats: text, json, stream-json * - Session continuation via --session-id (isolated from other sessions in same directory) */ export declare class ClaudeAdapter implements ToolAdapter { readonly name = "claude"; readonly displayName = "Claude Code"; readonly color = "\u001B[96m"; readonly promptPattern: RegExp; readonly idleTimeout = 3000; readonly startupDelay = 2500; private hasActiveSession; private sessionId; private sessionCreated; isAvailable(): Promise; /** * Get or create a unique session ID for aic's Claude sessions. * This isolates aic from other Claude Code sessions in the same directory. */ private getOrCreateSessionId; /** * Get session args for Claude commands. * First call uses --session-id to CREATE the session. * Subsequent calls use --resume to CONTINUE the session (avoids "already in use" errors). */ private getSessionArgs; getCommand(prompt: string, options?: SendOptions): string[]; getInteractiveCommand(options?: SendOptions): string[]; getPersistentArgs(): string[]; cleanResponse(rawOutput: string): string; send(prompt: string, options?: SendOptions): Promise; resetContext(): void; /** Check if there's an active session */ hasSession(): boolean; /** Mark that a session exists (for loading from persisted state) */ setHasSession(value: boolean): void; /** Get current session ID (for debugging/logging) */ getSessionId(): string | null; } //# sourceMappingURL=claude.d.ts.map