/** * Darwin — Claude CLI Provider * * Spawns `claude` CLI as a child process. * The only provider that supports MCP tool use (via --mcp-config). * Slower than direct API but enables full tool-augmented agents. */ import type { DarwinConfig, AgentDefinition } from '../types.js'; import type { LLMCallOptions, LLMCallResult, LLMProvider, ProviderConfig } from './types.js'; /** Extended options for Claude CLI (MCP, tools, etc.) */ export interface ClaudeCliRunOptions { /** Agent definition (needed for MCP config and tools) */ agent?: AgentDefinition; /** Darwin config (for MCP server definitions) */ darwinConfig?: DarwinConfig; /** Max conversation turns */ maxTurns?: number; /** Working directory for the CLI process */ cwd?: string; /** Run in autonomous mode (bypass permissions) */ autonomous?: boolean; } export declare class ClaudeCliProvider implements LLMProvider { readonly name = "claude-cli"; readonly supportsMcp = true; private defaultModel; /** Stashed CLI-specific options — set before run() via setRunOptions() */ private runOptions; constructor(config: ProviderConfig); /** Set CLI-specific options for the next run (MCP, tools, etc.) */ setRunOptions(opts: ClaudeCliRunOptions): void; run(options: LLMCallOptions): Promise; private executeOnce; } //# sourceMappingURL=claude-cli.d.ts.map