import type { ValidationIssue } from '../types'; import type { StructureDefinition } from '../core/structure-definition-types'; export { evaluateSpecialisedRootConstraint } from './sd-fhirpath-specialised-root-constraints'; export interface SDFHIRPathContext { resource: any; resourceType: string; structureDef: StructureDefinition; /** * FHIRPath `%resource` / `%rootResource` context. This differs from * `resource` when a non-resource datatype is validated recursively, for * example an Extension profile attached to Patient.gender. */ rootResource?: any; bundle?: any; bundleResources?: Map; fhirVersion?: 'R4' | 'R5' | 'R6'; } export declare class SDFHIRPathExecutor { private memberOfValueSetLoader; /** * Execute ALL FHIRPath constraints from StructureDefinition */ execute(context: SDFHIRPathContext): Promise; /** * Evaluate constraint on a matched element */ private evaluateConstraintOnElement; /** * Evaluate a single constraint */ private evaluateConstraint; /** * Evaluate a FHIRPath expression */ private evaluateExpression; private expressionStartsAtResourceRoot; /** * Create a violation issue */ private createViolation; /** * Evaluate a compiled FHIRPath expression synchronously. * (fhirpath.js is synchronous — the previous Promise + setTimeout wrapper * was dead code since a setTimeout cannot interrupt a sync call.) */ private evaluateCompiled; } export declare const sdFHIRPathExecutor: SDFHIRPathExecutor; /** Get cache stats for the SD FHIRPath expression cache */ export declare function getSDFHIRPathCacheStats(): import("./fhirpath-expression-cache-core").FHIRPathExpressionCacheStats; /** Clear the SD FHIRPath expression cache */ export declare function clearSDFHIRPathCache(): void; //# sourceMappingURL=sd-fhirpath-executor.d.ts.map