import type { AppId, InstalledSkill, McpServer, SdkOptions, SdkPaths } from "./types.js";
import type { CreateMcpInput, UpdateMcpInput } from "./services/mcp-model.js";
import type { CreateSkillInput, UpdateSkillInput } from "./services/skill-model.js";
export declare class CcSwitchSdk {
    private readonly paths;
    private readonly skillSyncMethod;
    private readonly mcpAdapters;
    private readonly skillAdapters;
    private state;
    private operationQueue;
    /**
     * 创建 CcSwitchSdk 实例
     *
     * 注意：adapters 必须通过 options.adapters 注入，
     * cc-switch-sdk 不再提供默认的 adapter 实现。
     *
     * @param options - SDK 配置选项
     * @param options.adapters.mcp - MCP 适配器映射（必需）
     * @param options.adapters.skill - Skill 适配器映射（必需）
     */
    constructor(options: SdkOptions);
    private executeExclusive;
    load(): Promise<void>;
    save(): Promise<void>;
    private getAiConfigPath;
    private getAiBackupPath;
    private backupAiConfigIfNeeded;
    private backupBeforeMcpSyncByApps;
    private backupBeforeMcpSync;
    backupAiConfigs(appIds?: AppId[]): Promise<void>;
    restoreAiConfig(appId: AppId): Promise<boolean>;
    restoreAiConfigs(appIds?: AppId[]): Promise<Record<string, boolean>>;
    getAllMcpServers(): McpServer[];
    getMcpServerById(id: string): McpServer | undefined;
    createMcpServer(input: CreateMcpInput): Promise<McpServer>;
    updateMcpServer(id: string, patch: UpdateMcpInput): Promise<McpServer>;
    deleteMcpServer(id: string): Promise<void>;
    toggleMcpApp(serverId: string, appId: AppId, enabled: boolean): Promise<McpServer>;
    importMcpFromApps(): Promise<number>;
    /**
     * 从单个应用导入 MCP 服务器
     */
    private importMcpFromApp;
    /**
     * 处理导入的 MCP 服务器（合并或创建）
     * @returns 是否为新创建的 MCP
     */
    private processImportedMcp;
    /**
     * 根据名称查找 MCP 服务器
     */
    private findMcpServerByName;
    /**
     * 创建带有应用标记的 MCP 服务器
     */
    private createMcpWithAppFlag;
    getAllSkills(): InstalledSkill[];
    getSkillById(id: string): InstalledSkill | undefined;
    installSkill(input: CreateSkillInput): Promise<InstalledSkill>;
    updateSkill(id: string, patch: UpdateSkillInput): Promise<InstalledSkill>;
    uninstallSkill(id: string): Promise<void>;
    toggleSkillApp(skillId: string, appId: AppId, enabled: boolean): Promise<InstalledSkill>;
    importSkillsFromApps(): Promise<number>;
    /**
     * 从单个应用导入 Skills
     */
    private importSkillsFromApp;
    /**
     * 处理导入的 Skill（合并或创建）
     * @returns 是否为新创建的 Skill
     */
    private processImportedSkill;
    /**
     * 根据名称查找 Skill
     */
    private findSkillByName;
    /**
     * 合并已存在的 Skill
     */
    private mergeExistingSkill;
    /**
     * 创建新导入的 Skill
     */
    private createNewImportedSkill;
    /**
     * 创建带有应用标记的 Skill
     */
    private createSkillWithAppFlag;
    getPaths(): SdkPaths;
}
//# sourceMappingURL=sdk.d.ts.map