import { type PermissionResult } from '@anthropic-ai/claude-agent-sdk'; import type { ClaudeliOptions, WebSocket, WebSocketMessage } from './types'; import { Duplex, Writable } from 'stream'; export declare function handlePermissionResponse(sessionId: string, requestId: string, response: PermissionResult): boolean; /** * Spawns a Claude session using the Anthropic SDK * Note: Images are currently disabled as we will need to refactor to use streaming input to support them * @param command - The command/prompt to send to Claude * @param options - Configuration options * @param output - WebSocket, Writable stream, or Duplex stream for output * @returns The final session ID used for this interaction */ export declare function spawnClaude(command: string, options: ClaudeliOptions | undefined, output: WebSocket | Writable | Duplex): Promise; /** * Aborts an active Claude session */ export declare function abortClaudeSession(sessionId: string): boolean; export declare function createStreamWrapper(): { stream: Duplex; onMessage: (handler: (msg: WebSocketMessage) => void) => void; }; /** * Headless result containing all Claude responses from a session */ export interface HeadlessResult { sessionId: string; messages: Array<{ type: string; content: unknown; }>; exitCode: number; } /** * Spawns a headless Claude session that requires no user interaction. * Automatically bypasses all permissions and returns collected messages. * Always creates a new session (never resumes). * * @param command - The command/prompt to send to Claude * @param options - Configuration options (resume will be ignored) * @returns Promise containing session ID and all Claude response messages */ export declare function spawnClaudeHeadless(command: string, options?: Partial): Promise; //# sourceMappingURL=spawnClaude.d.ts.map