export type AgentType = 'claude-code' | 'cursor' | 'codex' | 'opencode' | 'openclaw' | 'amp' | 'anthropic-sdk' | 'opencode-sdk' | 'unknown'; /** Amp agent mode — controls model selection and reasoning depth */ export type AmpMode = 'smart' | 'rush' | 'deep'; export type Agent = { type: AgentType; name: string; command: string; available: boolean; }; export type AgentRunOptions = { task: string; cwd: string; auto?: boolean; maxTurns?: number; /** Model to use (e.g., 'claude-sonnet-4-5-20250929'). Passed via --model to supported agents. */ model?: string; /** Stream output to console in real-time */ streamOutput?: boolean; /** Callback for each line of output */ onOutput?: (line: string) => void; /** Agent timeout in milliseconds (default: 300000 = 5 min) */ timeoutMs?: number; /** Maximum output size in bytes before truncating (default: 50MB) */ maxOutputBytes?: number; /** Additional environment variables to pass to the agent subprocess */ env?: Record; /** Suppress all console output (for SDK/CI usage) */ headless?: boolean; /** Amp agent mode: smart (frontier), rush (fast), deep (extended reasoning) */ ampMode?: AmpMode; /** API key for SDK-based agents (anthropic-sdk, opencode-sdk). Overrides env vars. */ apiKey?: string; /** Allow the anthropic-sdk agent to execute shell commands. Disabled by default for safety. */ allowShellExecution?: boolean; }; export declare function checkAgentAvailable(type: AgentType, options?: { apiKey?: string; }): Promise; export declare function detectAvailableAgents(options?: { apiKeys?: Record; }): Promise; export declare function detectBestAgent(options?: { apiKeys?: Record; }): Promise; export declare function runAgent(agent: Agent, options: AgentRunOptions): Promise<{ output: string; exitCode: number; }>; export declare function printAgentStatus(agents: Agent[]): void; //# sourceMappingURL=agents.d.ts.map