/**
 * ExecutorProfiles — 执行器配置管理
 *
 * 数据结构: { executors: { [AgentType]: { [variant]: config } } }
 * - 内置默认配置 (default-profiles.json)
 * - 用户自定义覆盖 (data 目录下 profiles.json)
 * - 合并策略: 用户配置覆盖默认，但不能删除内置 executor
 */
import { AgentType } from '../types/index.js';
/** 单个 variant 的配置，字段取决于 agent 类型 */
export type VariantConfig = Record<string, unknown>;
/** 某个 agent 的所有 variant 配置 */
export type AgentVariants = Record<string, VariantConfig>;
/** 完整的 profiles 结构 */
export interface ExecutorProfiles {
    executors: Record<string, AgentVariants>;
}
/**
 * 深度合并: 用户配置覆盖默认配置
 * - 用户可以新增 executor / variant
 * - 用户可以覆盖已有 variant 的配置
 * - 不会删除默认的 executor 或 variant
 */
export declare function mergeWithDefaults(defaults: ExecutorProfiles, overrides: ExecutorProfiles): ExecutorProfiles;
/**
 * 加载 profiles（默认 + 用户覆盖合并）
 */
export declare function loadProfiles(): ExecutorProfiles;
/**
 * 获取当前 profiles（带缓存）
 */
export declare function getProfiles(): ExecutorProfiles;
/**
 * 重新加载 profiles
 */
export declare function reloadProfiles(): ExecutorProfiles;
/**
 * 获取某个 agent 的某个 variant 配置
 */
export declare function getVariantConfig(agentType: AgentType | string, variant?: string): VariantConfig | null;
/**
 * 获取某个 agent 的所有 variant 名称
 */
export declare function getVariantNames(agentType: AgentType | string): string[];
/**
 * 保存用户覆盖配置
 */
export declare function saveProfiles(profiles: ExecutorProfiles): void;
/**
 * 更新某个 variant 配置
 */
export declare function setVariantConfig(agentType: AgentType | string, variant: string, config: VariantConfig): void;
/**
 * 删除某个 variant 配置（不允许删除内置默认的 DEFAULT）
 */
export declare function deleteVariantConfig(agentType: AgentType | string, variant: string): boolean;
/**
 * 获取默认 profiles（不含用户覆盖）
 */
export declare function getDefaultProfiles(): ExecutorProfiles;
//# sourceMappingURL=profiles.d.ts.map