/**
 * TODO: 已设计但未接入运行时的治理机制。待治理管线完善后启用。
 *
 * 能力状态覆盖存储 — 持久化人工确认的能力状态变更。
 * P2-8 范围: 显式更新（dry_run + 证据校验 + 人工确认），不自动改状态。
 * 存储: JSON 文件，原子写入，路径绑定 stateDir。
 */
import type { CapabilityState } from "./capability_registry.js";
import type { EscapeReport } from "./escape_report.js";
/** 状态覆盖记录 */
export interface StateOverride {
    /** 策略 ID */
    policy_id: string;
    /** 变更前状态 */
    previous_state: CapabilityState;
    /** 变更后状态 */
    new_state: CapabilityState;
    /** 变更原因 */
    reason: string;
    /** 证据 ID 列表 */
    evidence_ids: string[];
    /** 确认人 */
    confirmed_by: string;
    /** 更新时间 */
    updated_at: string;
}
/** 状态更新请求 */
export interface UpdateRequest {
    /** 策略 ID */
    policy_id: string;
    /** 目标状态 */
    target_state: CapabilityState;
    /** 变更原因 */
    reason: string;
    /** 证据 ID 列表 */
    evidence_ids: string[];
    /** 确认人 */
    confirmed_by: string;
    /** 是否为演练模式（仅校验不持久化） */
    dry_run: boolean;
    /** 是否已确认 */
    confirm: boolean;
}
/** 状态更新结果 */
export interface UpdateResult {
    /** 策略 ID */
    policy_id: string;
    /** 能力 ID（未找到时为 null） */
    capability_id: string | null;
    /** 变更前状态 */
    previous_state: CapabilityState;
    /** 变更后状态 */
    new_state: CapabilityState;
    /** 是否已实际更新 */
    updated: boolean;
    /** 是否为演练模式 */
    dry_run: boolean;
    /** 校验错误列表 */
    validation_errors: string[];
    /** 证据是否匹配 */
    evidence_matched: boolean;
    /** 生成的覆盖记录（校验通过时） */
    override: StateOverride | null;
}
/** 能力状态覆盖存储 — 管理人工确认的能力状态变更 */
export declare class CapabilityStateStore {
    private filePath;
    private overrides;
    private loaded;
    /**
     * 创建能力状态覆盖存储实例。
     * @param stateDir - 状态目录路径，覆盖数据将存储在此目录下
     */
    constructor(stateDir: string);
    /** 确保数据已从磁盘加载 */
    private ensureLoaded;
    /** 持久化当前数据到磁盘（原子写入） */
    private persist;
    /**
     * 获取策略的生效状态。优先返回最新覆盖的状态，无覆盖时返回默认状态。
     * @param policyId - 策略 ID
     * @param defaultState - 默认状态（无覆盖记录时使用）
     * @returns 该策略的生效状态
     */
    getEffectiveState(policyId: string, defaultState: CapabilityState): CapabilityState;
    /**
     * 列出所有状态覆盖记录。
     * @returns 覆盖记录列表（深拷贝）
     */
    list(): StateOverride[];
    /**
     * 校验状态更新请求的合法性。
     * 检查策略存在性、转移合法性、证据匹配、人工确认等条件。
     * @param request - 状态更新请求
     * @param currentState - 当前状态
     * @param capabilityId - 能力 ID（未找到时为 null）
     * @param escapeReports - 已有的逃逸报告列表（用于证据校验）
     * @returns 校验结果，包含错误列表和生成的覆盖记录
     */
    validate(request: UpdateRequest, currentState: CapabilityState, capabilityId: string | null, escapeReports: EscapeReport[]): UpdateResult;
    /**
     * 校验并应用状态更新请求。校验通过且非演练模式时，持久化覆盖记录。
     * @param request - 状态更新请求
     * @param currentState - 当前状态
     * @param capabilityId - 能力 ID（未找到时为 null）
     * @param escapeReports - 已有的逃逸报告列表（用于证据校验）
     * @returns 更新结果，包含是否实际更新
     */
    apply(request: UpdateRequest, currentState: CapabilityState, capabilityId: string | null, escapeReports: EscapeReport[]): UpdateResult;
    /**
     * 清空所有覆盖记录并持久化。
     */
    clear(): void;
}
//# sourceMappingURL=capability_state_store.d.ts.map