/**
 * CodexExecutor - OpenAI Codex CLI 执行器
 * 参考: https://shipyard.build/blog/codex-cli-cheat-sheet/
 */
import { AgentType } from '../types/index.js';
import { BaseExecutor, AvailabilityInfo, AgentCapability, ExecutorSpawnConfig, SpawnedChild } from './base.executor.js';
import { CommandBuilder, CmdOverrides } from './command-builder.js';
/**
 * 读取 Codex config.toml 中实际声明的 mcp_servers 顶层 key。
 * 文件不存在、读取失败或解析失败时返回空集合（不抛错）。
 */
export declare function getCodexDeclaredMcpServerNames(configPath?: string): Set<string>;
/**
 * 通过 `codex mcp list --json` 查询 Codex 运行时实际可见的 MCP server 名称。
 * 传入 provider settings 展平后的 `-c` 参数，确保 settings 注入的 MCP 也在列表中。
 * CLI 不存在、超时、exit 非 0、JSON 异常时返回 null 表示需要 fallback。
 */
export declare function queryCodexMcpServerNames(configOverrideArgs?: string[]): Set<string> | null;
/**
 * 检测 Codex 已声明的 MCP server 名称。
 * 主路径：`codex mcp list --json`（能反映 config + `-c` 注入的完整 MCP 视图）。
 * Fallback：直接读取 config.toml（CLI 不可用时）。
 */
export declare function detectDeclaredMcpServers(configOverrideArgs?: string[], fallbackConfigPath?: string): Set<string>;
export declare function buildAgentTowerMcpEnvConfigOverrides(env: ExecutorSpawnConfig['env'], declaredMcpServers: Set<string>): string[];
/**
 * Codex CLI 配置
 */
export interface CodexConfig {
    /** 追加到 prompt 的文本 */
    appendPrompt?: string;
    /** 模型选择 (gpt-5.3-codex, gpt-5.3-codex-spark, gpt-5.1-codex-max) */
    model?: string;
    /** 跳过所有确认提示并在无沙箱环境下执行命令（危险，仅用于外部已隔离的环境） */
    dangerouslyBypassApprovalsAndSandbox?: boolean;
    /** 启用实时网络搜索 */
    liveSearch?: boolean;
    /** 配置 profile 名称，对应 ~/.codex/config.toml 中的 [profiles.xxx] */
    profile?: string;
    /** CLI 原生配置 (TOML 格式字符串)，通过 -c 参数注入 */
    settings?: string;
    /** 命令覆盖 */
    cmd?: CmdOverrides;
}
export declare class CodexExecutor extends BaseExecutor {
    readonly agentType = AgentType.CODEX;
    readonly displayName = "Codex";
    private config;
    constructor(config?: CodexConfig);
    /**
     * 获取可用性信息
     */
    getAvailabilityInfo(): Promise<AvailabilityInfo>;
    /**
     * 获取 Agent 能力
     */
    getCapabilities(): AgentCapability[];
    /**
     * 获取默认 MCP 配置路径
     */
    getDefaultMcpConfigPath(): string | null;
    /**
     * 构建 TOML 配置覆盖参数（--profile 和 -c）
     */
    private buildConfigOverrides;
    /**
     * 构建命令
     */
    protected buildCommandBuilder(): CommandBuilder;
    /**
     * 启动新会话
     */
    spawn(config: ExecutorSpawnConfig): Promise<SpawnedChild>;
    /**
     * 继续现有会话
     */
    spawnFollowUp(config: ExecutorSpawnConfig, sessionId: string, resetToMessageId?: string): Promise<SpawnedChild>;
    /**
     * 组合 prompt
     */
    private combinePrompt;
}
//# sourceMappingURL=codex.executor.d.ts.map