/** * Invariant Registry * ------------------ * * Single source of truth for "which constraint keys are owned by a * hand-written Records validator, and therefore must NOT be * double-evaluated by the generic FHIRPath executor". * * Before this file, `sd-fhirpath-executor.ts` carried **two** identical * hard-coded skip lists (lines 154 and 306 — see Sub-Phase 2d notes), * and adding a new specialised handler meant remembering to touch * both sites. Miss one and you either silently double-report the * constraint or silently skip it, depending which code path fires. * * The registry collapses that duplication. Every call site goes * through `InvariantRegistry.isSpecialised(key)` and the list lives * here, alphabetised and annotated. * * If you add a new specialised invariant handler anywhere in * `validators/`, register the key(s) here in the same commit. */ export declare const InvariantRegistry: { /** * Does Records have a dedicated specialised validator for this * constraint key? If true, the generic FHIRPath executor must NOT * evaluate this constraint (doing so would double-report it). */ isSpecialised(key: string | undefined): boolean; /** * Which file owns the specialised handler for this key? Returns * undefined if the key is not specialised. Informational only — * dispatch uses `isSpecialised`. */ getHandlerFile(key: string | undefined): string | undefined; /** * Full list of specialised keys, for diagnostics (e.g. spec-coverage * reporting + the KNOWN_GAPS cross-reference). */ listSpecialisedKeys(): string[]; }; //# sourceMappingURL=invariant-registry.d.ts.map