/**
 * Template Mechanism Auditor
 *
 * 扫描所有模板目录，与 Consumable Asset Registry 和 Dual-Layer Mechanism Registry
 * 交叉校验，发现未映射、未消费、漂移、过度承诺等问题。
 */
import { type ConsumableAssetRef } from "./consumable_asset_registry.js";
import { type DualLayerCompleteness } from "../contracts/dual_layer_mechanism_registry.js";
import type { DualLayerGovernanceFinding, DualLayerMechanismStatus } from "../../types/index.js";
/** 模板资产审计条目 */
export interface TemplateAssetAuditEntry {
    path: string;
    registered: boolean;
    owner_mechanism_id?: string;
    consumption_mode?: string;
    consumers?: string[];
    trigger?: string;
    issue?: "unmapped" | "unconsumed" | "no_owner_mechanism" | "deprecated_injected";
}
/** 机制审计条目 */
export interface MechanismAuditEntry {
    mechanism_id: string;
    priority: string;
    status: DualLayerMechanismStatus;
    has_template_assets: boolean;
    has_code_enforcers: boolean;
    completeness?: DualLayerCompleteness;
    issue?: "template_only" | "code_only" | "p0_not_dual_layer";
}
/** 适配器承诺审计条目 */
export interface AdapterPromiseAuditEntry {
    source_file: string;
    promised_mechanism_id: string;
    promise_keywords: string[];
    backed_by_mechanism: boolean;
    mechanism_status?: DualLayerMechanismStatus;
    has_enforcer: boolean;
    issue?: "overpromised" | "drift";
}
/** 模板机制审计报告 */
export interface TemplateMechanismAuditReport {
    generated_at: string;
    root_dir: string;
    total_template_files: number;
    total_registered_assets: number;
    total_mechanisms: number;
    /** 磁盘上存在但未在 Consumable Asset Registry 注册的模板 */
    unmapped_template_assets: TemplateAssetAuditEntry[];
    /** 已注册但无消费者或触发器的资产 */
    unconsumed_template_assets: TemplateAssetAuditEntry[];
    /** 有模板资产但无代码执行器的机制 */
    template_only_mechanisms: MechanismAuditEntry[];
    /** 有代码执行器但无模板资产的机制 */
    code_only_mechanisms: MechanismAuditEntry[];
    /** 适配器模板承诺强制行为但无机制支持 */
    overpromised_adapter_rules: AdapterPromiseAuditEntry[];
    /** 模板-机制漂移发现 */
    template_mechanism_drift: DualLayerGovernanceFinding[];
    /** 已弃用但仍被注入的资产 */
    deprecated_assets_injected: TemplateAssetAuditEntry[];
    /** required 资产在其机制中无执行器 */
    required_assets_without_enforcer: TemplateAssetAuditEntry[];
    /** 既无模板资产也无代码执行器的机制 */
    empty_mechanisms: MechanismAuditEntry[];
    /** 薄模板发现（厚重模板、过大模板） */
    thin_template_findings: DualLayerGovernanceFinding[];
    /** 工作流硬性规则发现（未注册、不匹配） */
    workflow_hard_rule_findings: DualLayerGovernanceFinding[];
    /** 总 hard_fail 数量 */
    hard_fail_count: number;
    /** 总 advisory 数量 */
    advisory_count: number;
}
/**
 * 执行模板-机制交叉审计。
 * 扫描所有模板目录，与 Consumable Asset Registry 和 Dual-Layer Mechanism Registry 交叉校验。
 * @param rootDir - 项目根目录
 * @returns 完整的审计报告
 */
export declare function auditTemplateMechanisms(rootDir: string, options?: {
    workflowContentOverride?: string;
}): TemplateMechanismAuditReport;
/**
 * 检查资产是否允许注入到当前上下文。
 * 基于资产消费模式、所属机制状态、当前路由和工作流进行多重校验。
 * @param asset - 可消费资产引用
 * @param currentRoute - 当前路由（可选）
 * @param currentWorkflow - 当前工作流（可选）
 * @returns 注入是否允许及原因
 */
export declare function isInjectionAllowed(asset: ConsumableAssetRef, currentRoute?: string, currentWorkflow?: string): {
    allowed: boolean;
    reason?: string;
};
//# sourceMappingURL=template_mechanism_auditor.d.ts.map