/**
 * AgentInstructionsGenerator — 通用 AI Agent 指令文件生成器
 *
 * Channel F: 为多种 AI 编码工具生成项目指令文件
 *   - AGENTS.md      → OpenAI Codex / 通用 Agent
 *   - CLAUDE.md       → Claude Code
 *   - .github/copilot-instructions.md → GitHub Copilot（动态版，替代静态模板）
 *
 * 设计原则：
 *   1. 内容来源统一 — 从 _loadEntries() 已加载的知识条目中提取
 *   2. 互补不重复 — .mdc 处理行为规则，Channel F 处理项目知识
 *   3. 轻量索引 — 只输出摘要和规则，详细内容引导至 MCP 工具
 *   4. 幂等生成 — 每次 deliver 重写全部文件，不做增量 diff
 */
import type { KnowledgeEntryProps } from '../../domain/knowledge/KnowledgeEntry.js';
export declare class AgentInstructionsGenerator {
    logger: {
        info?: (...args: unknown[]) => void;
    };
    projectName: string;
    projectRoot: string;
    constructor(projectRoot: string, projectName?: string, logger?: {
        info?: (...args: unknown[]) => void;
    });
    /**
     * 生成所有 Agent 指令文件
     *
     * @param params.rules kind='rule' 的条目（已排序）
     * @param params.patterns kind='pattern' 的条目（已排序）
     * @param params.skills 可用 Skill 名称列表
     * @returns }
     */
    generate({ rules, patterns, skills, }?: {
        rules?: KnowledgeEntryProps[];
        patterns?: KnowledgeEntryProps[];
        skills?: string[];
    }): {
        agents: {
            filePath: string;
            tokensUsed: number;
            skipped: boolean;
        };
        claude: {
            filePath: string;
            tokensUsed: number;
            skipped: boolean;
        };
        copilot: {
            filePath: string;
            tokensUsed: number;
            skipped: boolean;
        };
        stats: {
            filesWritten: number;
            filesSkipped: number;
            totalTokens: number;
            duration: number;
        };
    };
    /**
     * 从知识条目构建共享内容段
     */
    _buildSections({ rules, patterns, skills, }: {
        rules: KnowledgeEntryProps[];
        patterns: KnowledgeEntryProps[];
        skills: string[];
    }): {
        ruleLines: string[];
        patternRows: string[];
        skillLines: string[];
        toolLines: string[];
    };
    _writeAgentsMd(sections: {
        ruleLines: string[];
        patternRows: string[];
        skillLines: string[];
        toolLines: string[];
    }): {
        filePath: string;
        tokensUsed: number;
        skipped: boolean;
    };
    _writeClaudeMd(sections: {
        ruleLines: string[];
        patternRows: string[];
        skillLines: string[];
        toolLines: string[];
    }): {
        filePath: string;
        tokensUsed: number;
        skipped: boolean;
    };
    /**
     * 动态生成 copilot-instructions.md
     * 读取 templates/instructions/conventions.md + HTML markers
     */
    _writeCopilotInstructions(_sections: {
        ruleLines: string[];
        patternRows: string[];
        skillLines: string[];
        toolLines: string[];
    }): {
        filePath: string;
        tokensUsed: number;
        skipped: boolean;
    };
    /**
     * 读取 templates/instructions/conventions.md — 唯一内容源
     * .mdc、copilot-instructions.md、Channel F 动态版全部从这里读取
     */
    _loadConventionsTemplate(): string;
}
export default AgentInstructionsGenerator;
