/**
 * 统一契约注册表 — 类型定义
 */
export type ContractKind = "capability" | "mechanism_family" | "workflow" | "guard" | "knowledge_injection" | "verification" | "delivery" | "failure" | "degradation" | "metric" | "language_policy" | "technology_decision" | "task_context" | "knowledge_evolution" | "knowledge_lifecycle" | "template_sync" | "adapter_prompt" | "documentation_governance" | "user_promise" | "release_compatibility" | "chinese_semantic" | "extension" | "platform_compatibility" | "governance_action" | "decision_sovereignty" | "brainstorm" | "detail_discipline" | "first_principles" | "architecture_design" | "existing_system_analysis" | "coding_readiness" | "local_acceptance" | "workflow_template_pack" | "evolution_regression" | "plan_proposal_gate" | "core_experience_principle" | "knowledge_asset_governance";
export type ContractState = "draft" | "advisory" | "enforced" | "experimental" | "deprecated" | "removed";
export interface ContractRegistryEntry {
    contract_id: string;
    kind: ContractKind;
    name: string;
    state: ContractState;
    owner_component: string;
    owner_files: string[];
    test_files: string[];
    lifecycle_test_files: string[];
    knowledge_refs: string[];
    prompt_refs: string[];
    depends_on: string[];
    consumed_by: string[];
    hard_fail_allowed: boolean;
    promotion_conditions: string[];
    demotion_conditions: string[];
    evidence_requirements: string[];
    /** 关联的 policy_id（来自 Capability Registry） */
    policy_id?: string;
    /** 关联的 capability ID 列表 */
    capability_ids?: string[];
    /** 替代契约 ID（deprecated 时必填） */
    replacement_contract_id?: string;
    /** 迁移说明（deprecated 时必填） */
    migration_note?: string;
}
export interface ContractGovernanceFinding {
    contract_id: string;
    kind: ContractKind;
    severity: "hard_fail" | "warning" | "advisory";
    rule: string;
    message_zh: string;
    evidence_refs: string[];
}
export interface ContractRegistrySummary {
    total: number;
    by_kind: Record<ContractKind, number>;
    by_state: Record<ContractState, number>;
    can_hard_fail: string[];
    cannot_hard_fail: string[];
}
//# sourceMappingURL=types.d.ts.map