/**
 * Shared base classifiers for the compliance pack ecosystem.
 *
 * RATIONALE: No copy-paste. Every pack that needs PII or PHI detection
 * composes around these shared patterns rather than duplicating them.
 * Before this module existed, 52+ packs each inlined the same email +
 * SSN regex, and 8+ packs copied the HIPAA 18-identifier PHI pattern
 * verbatim. The result: an SSN anywhere in input fired 23+ packs
 * simultaneously, producing noisy audit reports that obscured which
 * regulation actually applied.
 *
 * COMPOSITION PATTERN:
 *   - Framework packs (DORA, ISO27001, NIST-AI-RMF, etc.) should NOT
 *     use PII or PHI classifiers at all. Their value is in validators,
 *     modules, and retentionPolicy -- not in classifying generic personal
 *     data. Remove PII/PHI from their scanCategories.
 *   - Data-regulation packs (GLBA, CCPA, FERPA, etc.) have a legitimate
 *     need to scan for PII. They should import sharedPiiClassifier and,
 *     where their regulation is jurisdiction-specific, wrap it with
 *     requireMarker to add a regulation-specific qualifier so the pack
 *     only fires when BOTH the broad PII pattern AND the regulation's
 *     own marker are present.
 *   - Health-data packs that intersect with HIPAA (HITECH, PART11,
 *     PART2, FDA-SAMD) should use sharedPhiClassifier from this module
 *     rather than reimplementing the 18-identifier set.
 *
 * @connexum/ai-governance
 */
/** A function that tests an input string and returns true if the category fires. */
export type ClassifierFn = (input: string) => boolean;
/**
 * Broad PII classifier shared across all packs.
 *
 * Matches:
 *   - Email addresses  (RFC 5322 simplified pattern)
 *   - US SSN           (\b\d{3}-\d{2}-\d{4}\b)
 *
 * For regulation-specific PII (e.g. GLBA NPI, CCPA California PI,
 * FERPA student PII), compose with requireMarker() so the pack only
 * fires when its own jurisdiction marker is also present.
 */
export declare function sharedPiiClassifier(input: string): boolean;
/**
 * Shared PHI classifier implementing the HIPAA 18 Safe Harbor identifiers
 * (45 CFR 164.514(b)(2)).
 *
 * Use this in packs that explicitly reference HIPAA PHI:
 *   - HITECH (extends HIPAA BA chain; §13402 breach notification)
 *   - FDA-SAMD (cross-references 45 CFR 164.312 when PHI is processed)
 *   - PART11 (clinical electronic records subject to 45 CFR 164.312)
 *   - PART2 (2024 Final Rule aligns Part 2 breach notification with HIPAA)
 *
 * Do NOT use for:
 *   - GDPR -- EU health data is "special category" under Art. 9, not PHI
 *   - Colorado AI -- state law PHI uses a broader consequential-decision scope
 *   - ISO/NIST framework packs -- they should not classify PHI at all
 */
export declare function sharedPhiClassifier(input: string): boolean;
/**
 * Composes two classifier functions into a single classifier that returns
 * true only when BOTH functions return true.
 *
 * Use this to add a regulation-specific qualifier on top of a broad shared
 * pattern. The broad pattern (e.g. sharedPiiClassifier) gates on recognizable
 * PII signals; the marker pattern gates on the jurisdiction or context that
 * makes this regulation applicable.
 *
 * @param broadFn  - Broad base classifier (e.g. sharedPiiClassifier)
 * @param markerFn - Regulation-specific qualifier
 * @returns A composed classifier function
 */
export declare function requireMarker(broadFn: ClassifierFn, markerFn: ClassifierFn): ClassifierFn;
//# sourceMappingURL=_base-classifiers.d.ts.map