/**
 * Expanded Compliance Pack Registry
 *
 * Defines all compliance frameworks that My Compliance Center supports or plans to support.
 * Organized by vertical: Fintech, Healthcare, Pharma, Legal, Retail, AI-Specific.
 *
 * Pack counts (updated 2026-05-28, fix/claim-count-drift-tests-2026-05-28):
 *   - Source files (countSubstantivePacks): 156 (excludes 5 utility files)
 *   - Curated marketing catalog (ACTIVE_PACKS array in this file): 143 (LOCKED)
 *   - Enforcing packs (countEnforcingPacks): 151 (ACTIVE + has-classifier, not advisory)
 *
 * Three distinct figures — keep them consistent:
 *   - 143 = curated marketing catalog (LOCKED per Thomas directive; do NOT change;
 *           used in pricing.html, catalog chips, and the ACTIVE_PACKS array here)
 *   - 151 = enforcing packs (countEnforcingPacks() in tests/claims/_helpers.ts):
 *           ACTIVE in this file WITH a runtime CategoryClassifier attached,
 *           EXCLUDING advisory-only packs (ecpa) and PLACEHOLDERs (lpo2024).
 *           Used for all customer-facing "N packs all enforce" / "N packs (was 74)"
 *           claims. (Thomas directive 2026-05-28.)
 *   - 156 = total substantive source files (countSubstantivePacks): pack files
 *           under src/packs/ minus 5 helpers (_base-classifiers, check-registry,
 *           index, migration-manifest, registry-expanded). Used by build-inventory.mjs
 *           as `sourceFileCount` flowing to site/v2/data/inventory.json.
 *
 * 2026-05-12 additions vs the 2026-05-10 inventory snapshot (10 packs):
 *   - Industrial / OT: iec-62443, nist-sp-800-82
 *   - Aerospace:       as-9100, do-178c
 *   - Automotive:      iso-26262
 *   - Medical device:  iec-62304, iso-15189, iso-iec-80001,
 *                      fda-21-cfr-820, fda-samd-precert
 *
 * NOTE: This file's ACTIVE_PACKS array is the documentary registry used by
 * getPackSummary() / getPacksByStatus(). The runtime source of truth is
 * src/packs/index.ts (PackRegistry + individual pack files). If these diverge,
 * src/packs/index.ts wins. Consider a future cleanup pass to remove this file
 * and derive the summary directly from the runtime registry (Pax backlog item).
 *
 * Status levels:
 *   - ACTIVE: Fully implemented pack with controls and validation
 *   - PLANNED: Defined and scoped, ready for implementation
 *   - RESEARCH: Framework analyzed, pack spec in progress
 *
 * Priority levels:
 *   - P0: Must-have for target vertical launch
 *   - P1: High value, implement within 2 sprints of vertical launch
 *   - P2: Nice-to-have, implement based on customer demand
 *
 * @connexum/ai-governance
 */
export interface CompliancePackRule {
    /** Stable rule identifier, e.g. 'CMS-COP-001'. Never reused. */
    id: string;
    /** Plain-language statement of what is enforced. */
    description: string;
    /**
     * How the rule is enforced at runtime.
     * - 'block'                     → agent action is hard-blocked
     * - 'warn'                      → agent receives a warning annotation
     * - 'info'                      → informational flag only
     * - 'human-attestation'         → cannot be autonomously verified; surfaces in audit_questions UI
     * - 'requires-ncci-integration' → placeholder until CMS NCCI quarterly table lookup is wired up
     */
    enforcement: 'block' | 'warn' | 'info' | 'human-attestation' | 'requires-ncci-integration';
    /** BLOCK > WARN > INFO — mirrors the severity in each pack's rules.md */
    severity: 'BLOCK' | 'WARN' | 'INFO';
}
export interface CompliancePackDefinition {
    id: string;
    name: string;
    shortName: string;
    vertical: string;
    jurisdiction: string;
    status: 'ACTIVE' | 'PLANNED' | 'RESEARCH' | 'PLACEHOLDER' | 'draft';
    priority: 'P0' | 'P1' | 'P2';
    description: string;
    keyRequirements: string[];
    aiRelevance: string;
    controlCount?: number;
    /**
     * Structured rule definitions. Required for packs with status 'draft' or 'ACTIVE'
     * when the pack has been content-drafted under the MD-bundle pattern.
     * Legacy ACTIVE packs that pre-date the MD-bundle pattern use controlCount only.
     */
    rules?: CompliancePackRule[];
    /**
     * Marketplace pricing tier — Thomas Layer 0 2026-05-22 canonical pricing model.
     * Optional today: legacy ACTIVE_PACKS entries do not declare it; the group-pack
     * pricing layer at `src/packs/vertical-group-catalog.ts` computes group prices
     * from pack count instead. Future PR backfills this field on every pack so the
     * marketplace surface can render per-pack price chips without a catalog lookup.
     */
    pricing?: {
        tier: '4500' | '6000' | '7000' | 'platform';
        monthlyUsd: number;
        annualUsd: number;
    };
    /** True if this framework applies broadly across industries, not just within one sector. */
    crossIndustry?: boolean;
    /** Regulatory framework category for marketplace filter rails. */
    frameworkCategory?: string;
}
export declare const ALL_COMPLIANCE_PACKS: CompliancePackDefinition[];
export declare function getPacksByVertical(vertical: string): CompliancePackDefinition[];
export declare function getPacksByStatus(status: 'ACTIVE' | 'PLANNED' | 'RESEARCH' | 'PLACEHOLDER' | 'draft'): CompliancePackDefinition[];
export declare function getPacksByPriority(priority: 'P0' | 'P1' | 'P2'): CompliancePackDefinition[];
export declare function getPackSummary(): {
    totalPacks: number;
    active: number;
    draft: number;
    planned: number;
    research: number;
    byVertical: {
        [k: string]: number;
    };
    byPriority: {
        P0: number;
        P1: number;
        P2: number;
    };
};
//# sourceMappingURL=registry-expanded.d.ts.map