/**
 * Executors 模块导出
 *
 * 改造: 不再使用全局单例 Map，而是从 profiles 读取配置动态构造 executor 实例
 */
import { AgentType } from '../types/index.js';
import { BaseExecutor, AvailabilityInfo } from './base.executor.js';
import { type Provider } from './providers.js';
/**
 * 获取指定类型的执行器（支持 variant）
 *
 * @param agentType - agent 类型
 * @param variant - 配置变体名称，默认 'DEFAULT'
 */
export declare function getExecutor(agentType: AgentType, variant?: string): BaseExecutor | undefined;
/**
 * 根据 provider ID 创建 executor
 * provider 的 env 会通过 CmdOverrides.env 注入，config 作为 executor 配置
 */
export declare function getExecutorByProvider(providerId: string): BaseExecutor | undefined;
/**
 * 根据 agentType 找默认 provider 创建 executor
 */
export declare function getExecutorByAgentType(agentType: AgentType): BaseExecutor | undefined;
/**
 * 获取所有已注册的 agent 类型
 */
export declare function getAllAgentTypes(): AgentType[];
/**
 * 获取所有执行器（每种 agent 的 DEFAULT variant）
 */
export declare function getAllExecutors(): BaseExecutor[];
/**
 * 获取可用的执行器列表
 */
export declare function getAvailableExecutors(): Promise<BaseExecutor[]>;
/**
 * 获取所有执行器的可用性信息
 */
export declare function getAllExecutorsAvailability(): Promise<Array<{
    agentType: AgentType;
    displayName: string;
    availability: AvailabilityInfo;
}>>;
/**
 * 获取所有 providers 的可用性信息（用于前端选择 provider）
 */
export declare function getAllProvidersAvailability(): Promise<Array<{
    provider: Provider;
    availability: AvailabilityInfo;
}>>;
export { BaseExecutor, CancellationToken } from './base.executor.js';
export { ClaudeCodeExecutor, PermissionMode } from './claude-code.executor.js';
export { GeminiCliExecutor } from './gemini-cli.executor.js';
export { CursorAgentExecutor } from './cursor-agent.executor.js';
export { CodexExecutor } from './codex.executor.js';
export { CommandBuilder } from './command-builder.js';
export { ExecutionEnv } from './execution-env.js';
export { getProfiles, loadProfiles, reloadProfiles, getVariantConfig, getVariantNames, setVariantConfig, deleteVariantConfig, getDefaultProfiles, } from './profiles.js';
export { getAllProviders, getProviderById, getProvidersByAgentType, getDefaultProvider, getUserProviders, createProviderBackup, previewProviderImport, importProvidersFromBackup, createProvider, updateProvider, deleteProvider, canDeleteProvider, loadProviders, reloadProviders, getDefaultProviders, } from './providers.js';
export type { AvailabilityInfo, SpawnedChild, ExecutorSpawnConfig, AgentCapability } from './base.executor.js';
export type { ClaudeCodeConfig } from './claude-code.executor.js';
export type { GeminiCliConfig } from './gemini-cli.executor.js';
export type { CursorAgentConfig } from './cursor-agent.executor.js';
export type { CodexConfig } from './codex.executor.js';
export type { CmdOverrides, CommandParts } from './command-builder.js';
export type { RepoContext } from './execution-env.js';
export type { ExecutorProfiles, VariantConfig, AgentVariants } from './profiles.js';
export type { Provider, ProvidersData } from './providers.js';
//# sourceMappingURL=index.d.ts.map