/**
 * SkillsSyncer — AutoSnippet Skills to .cursor/skills/ 同步器
 *
 * Channel C: 将内置 Skills 和项目级 Skills 统一同步到
 * .cursor/skills/ 目录，适配 Cursor Agent Skills 标准格式。
 *
 * - 内置 Skills：从 AutoSnippet 包 skills/ 目录直接复制（autosnippet-create 等）
 * - 项目级 Skills：从 AutoSnippet/skills/ 转换格式后写入（project-* → autosnippet-*）
 * - 同时为项目级 Skill 生成 references/RECIPES.md（相关 Recipe 摘要）
 */
export declare class SkillsSyncer {
    knowledgeService: {
        list: (filter: Record<string, unknown>, pagination: {
            page: number;
            pageSize: number;
        }) => Promise<unknown>;
    } | null;
    projectName: string;
    projectRoot: string;
    sourceDir: string;
    targetDir: string;
    /**
     * @param projectRoot 用户项目根目录
     * @param projectName 项目名称
     * @param [knowledgeService] 可选，用于生成 references/RECIPES.md
     */
    constructor(projectRoot: string, projectName?: string, knowledgeService?: {
        list: (filter: Record<string, unknown>, pagination: {
            page: number;
            pageSize: number;
        }) => Promise<unknown>;
    } | null);
    /**
     * 执行完整同步流程
     * @returns >}
     */
    sync(): Promise<{
        synced: string[];
        skipped: string[];
        errors: string[];
        builtinSynced: string[];
    }>;
    /**
     * 同步内置 Skills：从 AutoSnippet 包 skills/ 目录直接复制到 .cursor/skills/
     */
    _syncBuiltinSkills(result: {
        builtinSynced: string[];
        errors: string[];
    }): void;
    /**
     * 同步项目级 Skills：从 AutoSnippet/skills/ 转换格式后写入 .cursor/skills/
     */
    _syncProjectSkills(result: {
        synced: string[];
        skipped: string[];
        errors: string[];
    }): Promise<void>;
    /**
     * 转换 SKILL.md 格式 — 从 AutoSnippet 格式到 Cursor Agent Skills 标准
     */
    _convertSkillMd(source: string, targetName: string, sourceDirName: string): string;
    /**
     * 生成 references/RECIPES.md
     */
    _generateRecipes(targetSkillDir: string, sourceDirName: string): Promise<void>;
    /**
     * 生成使用场景列表
     */
    _generateUseCases(sourceDirName: string): string[];
    _capitalizeWords(str: string): string;
}
export default SkillsSyncer;
