import type { KnowledgeEntry } from "../types/index.js";
/**
 * 知识文件写入器。
 * @description 负责知识条目的暂存写入、激活发布和暂存管理。
 *              使用 .soloforge/staged 目录作为暂存区，支持原子写入（先写 .tmp 再 rename）。
 *              包含维度6知识目录隔离机制，禁止将 AI 进化产物写入 core/ 只读目录。
 */
export declare class KnowledgeWriter {
    private stagedDir;
    /**
     * 创建知识写入器实例。
     * @param projectPath - 项目根目录路径
     */
    constructor(projectPath: string);
    /**
     * 将知识条目写入暂存区。
     * @description 生成带时间戳的文件名，构建 frontmatter，使用原子写入保存到暂存目录。
     * @param entry - 知识条目元数据
     * @param content - 知识正文内容
     * @returns 暂存文件的绝对路径
     */
    writeToStaged(entry: KnowledgeEntry, content: string): Promise<string>;
    /**
     * 将暂存条目提升为活跃状态。
     * @description 从暂存区读取条目，更新状态为 active，移动到知识目录的对应子目录。
     *              包含维度6知识目录隔离检查，禁止写入 core/ 只读目录。
     *              目标文件写入成功后才删除源文件，确保原子性。
     * @param stagedPath - 暂存文件的绝对路径
     * @param knowledgeDir - 目标知识目录路径
     * @returns 激活后的文件绝对路径
     * @throws 当目标目录为 core/ 只读目录时抛出错误
     */
    promoteToActive(stagedPath: string, knowledgeDir: string): Promise<string>;
    /**
     * 列出暂存区中的所有知识条目。
     * @description 扫描暂存目录中的所有 .md 文件，解析 frontmatter 提取名称和置信度。
     * @returns 暂存条目列表，包含路径、名称和置信度
     */
    listStaged(): Promise<Array<{
        path: string;
        name: string;
        confidence: number;
    }>>;
    /**
     * 拒绝并删除暂存条目。
     * @description 从暂存区删除指定的暂存文件。
     * @param stagedPath - 暂存文件的绝对路径
     * @returns 是否成功删除（文件不存在或删除失败返回 false）
     */
    rejectStaged(stagedPath: string): Promise<boolean>;
    /**
     * 根据知识条目类型映射到目标子目录（内部方法）。
     * @param type - 知识条目类型
     * @returns 目标子目录相对路径
     */
    private typeToSubdir;
    /**
     * 检查文件路径是否在 core/ 只读目录中（静态方法）。
     * @description 维度6: 知识目录隔离检查，用于防止将 AI 产物写入核心目录。
     * @param filePath - 待检查的文件路径
     * @returns 如果路径包含 patterns/core/ 则返回 true
     */
    static isCorePath(filePath: string): boolean;
}
//# sourceMappingURL=writer.d.ts.map