/**
 * DataClassTag, DataClass, and SovereigntyZone -- Core types for the
 * P4-RET-01 data classification foundation.
 *
 * Pack binding is the PRIMARY architectural invariant (Thomas directive
 * 2026-04-22, feedback_pack_binding_primacy.md). Every stored artefact
 * carries a non-empty `packBinding` that ties it to the compliance pack(s)
 * governing it for the owning tenant.
 *
 * AC 1: DataClassTag shape.
 * AC 2: DataClass closed enum (11 values).
 * SovereigntyZone: 8-value union for data-residency enforcement.
 *
 * @connexum/ai-governance
 */
/**
 * Closed enumeration of all data classes the retention engine recognises.
 * Adding a new class here requires:
 *   1. A corresponding rule in classification-rules.ts.
 *   2. A new unit test in tests/retention-classifier.test.ts.
 *   3. Updated pack-binding invariant docs in docs/.
 */
export declare enum DataClass {
    AuditEvent = "audit-event",
    SessionState = "session-state",
    ApprovalQueueItem = "approval-queue-item",
    ComplianceReport = "compliance-report",
    AgentRegistration = "agent-registration",
    PolicySnapshot = "policy-snapshot",
    PiiRecord = "pii-record",
    PhiRecord = "phi-record",
    FinancialRecord = "financial-record",
    DiscoveryArtefact = "discovery-artefact",
    BackupIndex = "backup-index",
    MortgageApplicationRecord = "mortgage-application-record",
    HmdaLarEntry = "hmda-lar-entry",// race/ethnicity/sex protected per HMDA/ECOA Reg B
    ConsumerReportRecord = "consumer-report-record"
}
/**
 * Data-residency zone. Drives jurisdiction checks and geo-fencing for
 * storage backends. Resolved per-tenant by ClassificationRule.sovereigntyResolver.
 */
export type SovereigntyZone = 'us' | 'eu' | 'uk' | 'ca' | 'jp' | 'au' | 'global' | 'local';
/**
 * Immutable tag stamped on every stored record at ingestion time.
 *
 * `packBinding` is mandatory and non-empty. An unbound record cannot enter
 * the system -- see UnboundDataError in classifier.ts.
 *
 * `classifiedAt` is an ISO-8601 string (e.g. "2026-04-22T14:00:00.000Z").
 */
export interface DataClassTag {
    /** Owning tenant identifier */
    tenantId: string;
    /** Contract under which this record was produced */
    contractId: string;
    /** What kind of data this record is */
    dataClass: DataClass;
    /**
     * Active compliance-pack IDs that govern this record.
     * Non-empty invariant enforced at write time by DataClassifier.
     * Example: ['hipaa', 'soc2', 'iso27001']
     */
    packBinding: string[];
    /** Data-residency zone for this record */
    sovereigntyZone: SovereigntyZone;
    /** ISO-8601 timestamp when classification occurred */
    classifiedAt: string;
}
//# sourceMappingURL=data-class.d.ts.map