export interface FHIRPathExpressionCacheStats { hits: number; misses: number; compileErrors: number; hitRate: string; size: number; } export interface VersionedExpressionCacheOptions { maxSize: number; keySeparator?: string; compile: (expression: string, fhirVersion: 'R4' | 'R5' | 'R6') => T; onCompileError?: (expression: string, error: Error) => void; errorValue?: (error: Error) => T; } export declare class VersionedExpressionCache { private readonly options; private cache; private hits; private misses; private compileErrors; private readonly keySeparator; constructor(options: VersionedExpressionCacheOptions); getOrCompile(expression: string, fhirVersion?: 'R4' | 'R5' | 'R6'): T; getStats(): FHIRPathExpressionCacheStats; clear(): void; private set; } //# sourceMappingURL=fhirpath-expression-cache-core.d.ts.map