export interface ClaudeCliOptions { prompt: string; cwd: string; allowedTools?: string[]; disallowedTools?: string[]; systemPrompt?: string; resumeSessionId?: string; maxTurns?: number; outputFormat?: 'json' | 'stream-json' | 'text'; onStreamLine?: (data: Record) => void; includePartialMessages?: boolean; /** Skip MCP servers, built-in tools, and skills for faster startup */ lightweight?: boolean; agentTeam?: boolean; timeoutMs?: number; signal?: AbortSignal; /** Permission mode for Claude Code CLI */ permissionMode?: 'default' | 'plan' | 'bypassPermissions'; /** Use --dangerously-skip-permissions to fully bypass all permission checks */ dangerouslySkipPermissions?: boolean; /** Use --fork-session with --resume to create a new session with fresh permission mode */ forkSession?: boolean; /** Callback invoked when Claude Code asks for tool approval. Return true to allow, false to deny. */ onPermissionRequest?: (tool: string, detail: string) => Promise; /** Local file paths to pass as input (e.g., images) via --input-file flags */ inputFiles?: string[]; /** Path to MCP server config JSON file (passed via --mcp-config) */ mcpConfigPath?: string; } export interface ClaudeCliResult { result: string; sessionId?: string; costUsd?: number; durationMs?: number; numTurns?: number; isError: boolean; } /** * Spawn a Claude Code CLI session (`claude -p`) and return the result. */ export declare function runClaude(options: ClaudeCliOptions): Promise;