/**
 * ExecutionEnv - 执行环境
 * 参考 Rust 实现: crates/executors/src/env.rs
 */
import type { CmdOverrides } from './command-builder.js';
/**
 * 仓库上下文
 */
export interface RepoContext {
    /** 工作区根目录 */
    workspaceRoot: string;
    /** 仓库名称列表 */
    repoNames: string[];
}
/**
 * 执行环境 - 管理环境变量和仓库上下文
 */
export declare class ExecutionEnv {
    private vars;
    readonly repoContext: RepoContext;
    readonly commitReminder: boolean;
    constructor(repoContext: RepoContext, commitReminder?: boolean);
    /**
     * 创建默认执行环境
     */
    static default(workingDir: string): ExecutionEnv;
    /**
     * 插入环境变量
     */
    set(key: string, value: string): this;
    /**
     * 获取环境变量
     */
    get(key: string): string | undefined;
    /**
     * 检查是否包含某个环境变量
     */
    has(key: string): boolean;
    /**
     * 合并其他环境变量（传入的会覆盖现有的）
     */
    merge(other: Record<string, string>): this;
    /**
     * 应用 CmdOverrides 中的环境变量
     */
    withProfile(cmd?: CmdOverrides): ExecutionEnv;
    /**
     * 克隆当前环境
     */
    clone(): ExecutionEnv;
    /**
     * 转换为普通对象
     */
    toObject(): Record<string, string>;
    /**
     * 获取完整的环境变量（包含 process.env）
     * 过滤掉会阻止 Agent CLI 嵌套启动的环境变量
     * 当 provider 设置了 ANTHROPIC_* 变量时，清除 process.env 中残留的同类变量，
     * 避免 Claude Code 优先使用错误的认证信息
     */
    getFullEnv(): Record<string, string>;
    /**
     * 获取仓库路径列表
     */
    getRepoPaths(): string[];
}
//# sourceMappingURL=execution-env.d.ts.map