/**
 * 保留策略 — 问题三十八 (Observability Storage Contract) 的清理规则。
 *
 * 核心规则:
 * - evidence 必须可追溯且有 retention/cleanup 规则
 * - cleanup 不得删除仍被 TaskContext / GovernanceReport 引用的 evidence
 * - cleanup 默认 dry-run
 * - 日志/审计/metric 不得存 secret、完整 prompt、大段 stdout/stderr
 */
export type RecordStatus = "active" | "archived" | "pending_cleanup" | "protected";
export interface RetentionPolicy {
    policy_id: string;
    record_type: "evidence" | "audit_event" | "task_context" | "metric_sample" | "user_summary";
    max_age_days: number;
    max_count: number;
    dry_run_default: boolean;
    protected_while_referenced: boolean;
    redact_before_storage: boolean;
    forbidden_content: string[];
}
export interface RetentionCheckResult {
    policy_id: string;
    total_records: number;
    eligible_for_cleanup: number;
    protected_records: number;
    dry_run: boolean;
    cleanup_candidates: string[];
}
/** 列出所有保留策略 */
export declare function listRetentionPolicies(): RetentionPolicy[];
/** 按记录类型获取策略 */
export declare function getRetentionPolicy(recordType: RetentionPolicy["record_type"]): RetentionPolicy | undefined;
/**
 * 检查记录是否包含禁止内容。
 */
export declare function checkForbiddenContent(recordType: RetentionPolicy["record_type"], content: string): string[];
/**
 * 评估清理候选。
 * 默认 dry-run，不执行实际删除。
 */
export declare function evaluateCleanup(recordType: RetentionPolicy["record_type"], records: Array<{
    id: string;
    age_days: number;
    is_referenced: boolean;
}>, dryRun?: boolean): RetentionCheckResult;
//# sourceMappingURL=retention_policy.d.ts.map