/**
 * pii-patterns.ts -- Shared PII/PHI identifier pattern registry.
 *
 * Canonical source for all identifier-class regex patterns used by:
 *   - CrossSessionMemoryStore (was: IDENTIFIER_PATTERNS in cross-session-memory.ts)
 *   - CrossSessionPseudonymizer (was: IDENTIFIER_PATTERNS_INTERNAL in
 *     cross-session-pseudonymizer.ts -- the duplicate marked "This copy is intentional")
 *   - PR-1 SDK strip helpers (pii-shield-sdk)
 *   - PR-3 PostToolUse handler (reads pii_shield block + dispatches to stripAndTag)
 *
 * Covers all 18 HIPAA Safe Harbor identifiers (45 CFR 164.514(b)(2)) plus
 * additional classes required by GDPR, PCI DSS, GLBA, FERPA, COPPA, BIPA,
 * CJIS, ECPA, FINRA-3110, SOX-404, and HMDA.
 *
 * Adding a new class:
 *   1. Add the string literal to IdentifierClass union.
 *   2. Add an entry to IDENTIFIER_PATTERNS.
 *   3. Update the consumer that needs the class.
 *   4. Register the class in the relevant pack's pii_shield.strip_classes[].
 *
 * @connexum/ai-governance PR-2
 */
/**
 * All known identifier classes across regulations.
 *
 * Naming convention:
 *   - HIPAA Safe Harbor identifiers: 'phi' (umbrella), specific sub-classes
 *   - GDPR personal data: 'gdpr-contact', 'gdpr-personal'
 *   - Payment: 'pci-cardholder'
 *   - Finance / broker-dealer: 'financial-customer', 'comms', 'financial'
 *   - Education: 'educational-records'
 *   - Children: 'childrens-pii'
 *   - Biometric: 'biometric'
 *   - Criminal justice: 'criminal-justice'
 *   - Communications: 'comms'
 *   - Business confidential: 'confidential-business'
 *   - HMDA demographics: 'hmda-demographic' (legacy, retained)
 */
export type IdentifierClass = 'gdpr-contact' | 'gdpr-personal' | 'phi' | 'pci-cardholder' | 'financial-customer' | 'financial' | 'comms' | 'confidential-business' | 'educational-records' | 'childrens-pii' | 'biometric' | 'criminal-justice' | 'hmda-demographic';
/**
 * Regex patterns per identifier class.
 * Each array entry is tried in order; first match wins for detection.
 * Patterns are intentionally broad for detection -- the strip step
 * applies narrower replacement logic scoped by pack policy.
 */
export declare const IDENTIFIER_PATTERNS: Record<IdentifierClass, RegExp[]>;
/**
 * Detect which identifier classes are present in a stringified payload.
 * Returns the set of matching classes.
 */
export declare function detectIdentifierClasses(payload: unknown): Set<IdentifierClass>;
//# sourceMappingURL=pii-patterns.d.ts.map