import { CodeService, Repository } from 'cql-execution'; import { MeasureWithLibrary } from '../MeasureBundleHelpers'; import { ExtractedLibrary, ValueSetMap } from '../../types/CQLTypes'; import { ELM, ELMIdentifier } from '../../types/ELMTypes'; export interface ELMInfoCacheType { rep: Repository; elmJSONs: ELM[]; codeService: CodeService; cqls: ExtractedLibrary[]; rootLibIdentifier: ELMIdentifier; vsMap: ValueSetMap; lastAccessed?: Date; } /** * Calculates cqls, elmJSONs, rootLibIdentifier, codeService, rep, and vsMap info or retrieves from cache if available and enabled * @param measure {Object} the FHIR Measure that Calculation is being run on * @param measureBundle {Object} the FHIR Bundle containing the Measure and supplemental resources * @param valueSets {Array} the FHIR Valueset resources referenced by the Libraries within the Measure * @param useElmJsonsCaching {boolean} a flag that, when set to true, enables caching of cqls, elmJSONs, * rootLibIdentifier, codeService, rep, and vsMap data for quicker use in subsequent runs * @returns {Object} an object containing cqls, elmJSONs, rootLibIdentifier, codeService, rep, and vsMap */ export declare function retrieveELMInfo(measure: MeasureWithLibrary, measureBundle: fhir4.Bundle, valueSets: fhir4.ValueSet[], useElmJsonsCaching?: boolean): ELMInfoCacheType; export declare function clearElmInfoCache(): void;