/**
 * CursorAgentExecutor - Cursor Agent CLI 执行器
 * 参考 vibe-kanban Rust 实现: crates/executors/src/executors/cursor.rs
 */
import { AgentType } from '../types/index.js';
import { BaseExecutor, AvailabilityInfo, AgentCapability, ExecutorSpawnConfig, SpawnedChild } from './base.executor.js';
import { CommandBuilder, CmdOverrides } from './command-builder.js';
/**
 * Cursor Agent 配置
 */
export interface CursorAgentConfig {
    /** 追加到 prompt 的文本 */
    appendPrompt?: string;
    /** 强制允许命令（除非明确拒绝） */
    force?: boolean;
    /** 模型 ID，与 `cursor-agent --model` 一致；留空则 CLI 默认 (auto)。可用 `cursor-agent --list-models` 查看 */
    model?: string;
    /** 命令覆盖 */
    cmd?: CmdOverrides;
}
export declare class CursorAgentExecutor extends BaseExecutor {
    readonly agentType = AgentType.CURSOR_AGENT;
    readonly displayName = "Cursor Agent";
    private config;
    constructor(config?: CursorAgentConfig);
    /**
     * 获取可用性信息
     */
    getAvailabilityInfo(): Promise<AvailabilityInfo>;
    /**
     * 获取 Agent 能力
     */
    getCapabilities(): AgentCapability[];
    /**
     * 获取默认 MCP 配置路径
     */
    getDefaultMcpConfigPath(): string | null;
    /**
     * 构建命令
     */
    protected buildCommandBuilder(): CommandBuilder;
    /**
     * 启动新会话
     * Cursor Agent 通过 stdin 接收 prompt，不同于 Claude Code 通过参数传递
     */
    spawn(config: ExecutorSpawnConfig): Promise<SpawnedChild>;
    /**
     * 继续现有会话
     * Cursor Agent 使用 --resume 参数恢复会话
     */
    spawnFollowUp(config: ExecutorSpawnConfig, sessionId: string, _resetToMessageId?: string): Promise<SpawnedChild>;
    /**
     * 组合 prompt
     */
    private combinePrompt;
}
//# sourceMappingURL=cursor-agent.executor.d.ts.map