/**
 * 逃逸报告 — 结构化记录抽检失败、误伤、工具故障。
 * P2-3 范围: 只落盘记录，不自动降级，不改 capability 状态。
 * 存储: JSON 数组文件，原子写入，路径绑定 stateDir。
 */
/** 逃逸类型 */
export type EscapeType = "rule_gap" | "weak_test" | "bad_evidence" | "ai_escape" | "human_miss" | "tool_bug" | "false_positive";
/** 能力处置动作 */
export type CapabilityAction = "keep" | "downgrade" | "disable" | "promote_blocked";
/** 逃逸报告 */
export interface EscapeReport {
    /** 逃逸 ID */
    escape_id: string;
    /** 关联的任务 ID */
    task_id: string;
    /** 关联的策略 ID */
    policy_id: string;
    /** 失败类型 */
    failure_type: EscapeType;
    /** 预期守卫行为 */
    expected_guard: string;
    /** 实际逃逸行为 */
    actual_escape: string;
    /** 证据描述 */
    evidence: string;
    /** 根本原因 */
    root_cause: string;
    /** 所需修复措施 */
    fix_required: string;
    /** 负责人 */
    owner: string;
    /** 截止日期 */
    due_date: string;
    /** 能力处置动作 */
    capability_action: CapabilityAction;
    /** 创建时间 */
    created_at: string;
}
/** 逃逸报告统计信息 */
export interface EscapeReportStats {
    /** 总报告数 */
    total: number;
    /** 按失败类型分布 */
    by_type: Record<EscapeType, number>;
    /** 按处置动作分布 */
    by_action: Record<CapabilityAction, number>;
}
/** 逃逸报告存储 — 管理逃逸报告的持久化和查询 */
export declare class EscapeReportStore {
    private filePath;
    private reports;
    private loaded;
    /**
     * 创建逃逸报告存储实例。
     * @param stateDir - 状态目录路径，报告数据将存储在此目录下
     */
    constructor(stateDir: string);
    /** 确保数据已从磁盘加载 */
    private ensureLoaded;
    /** 持久化当前数据到磁盘（原子写入） */
    private persist;
    /**
     * 追加逃逸报告并持久化。
     * @param report - 要追加的逃逸报告
     */
    append(report: EscapeReport): void;
    /**
     * 查询逃逸报告列表，支持按失败类型、策略 ID 和任务 ID 过滤。
     * @param filter - 可选过滤条件
     * @param filter.failure_type - 按失败类型过滤
     * @param filter.policy_id - 按策略 ID 过滤
     * @param filter.task_id - 按任务 ID 过滤
     * @returns 匹配的逃逸报告列表（深拷贝）
     */
    list(filter?: {
        failure_type?: EscapeType;
        policy_id?: string;
        task_id?: string;
    }): EscapeReport[];
    /**
     * 获取逃逸报告统计信息。
     * @returns 包含总数和按类型/动作分布的统计信息
     */
    stats(): EscapeReportStats;
    /**
     * 清空所有逃逸报告并持久化。
     */
    clear(): void;
    /**
     * 获取逃逸报告数据文件路径。
     * @returns 数据文件的绝对路径
     */
    getFilePath(): string;
}
//# sourceMappingURL=escape_report.d.ts.map