import type { QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4'; import type { EnableWhenExpressions, EnableWhenRepeatExpression } from '../interfaces/enableWhen.interface'; import type { Variables } from '../interfaces'; interface EvaluateInitialEnableWhenExpressionsParams { initialResponse: QuestionnaireResponse; initialResponseItemMap: Record; enableWhenExpressions: EnableWhenExpressions; variables: Variables; existingFhirPathContext: Record; fhirPathTerminologyCache: Record; terminologyServerUrl: string; } export declare function evaluateInitialEnableWhenExpressions(params: EvaluateInitialEnableWhenExpressionsParams): Promise<{ initialEnableWhenExpressions: EnableWhenExpressions; updatedFhirPathContext: Record; fhirPathTerminologyCache: Record; }>; export declare function evaluateEnableWhenRepeatExpressionInstance(linkId: string, fhirPathContext: Record, enableWhenRepeatExpression: EnableWhenRepeatExpression, lastLinkIdIndex: number, instanceIndex: number, terminologyServerUrl: string): Promise<{ isEnabled: boolean | null; isUpdated: boolean; }>; export declare function evaluateEnableWhenExpressions(fhirPathContext: Record, fhirPathTerminologyCache: Record, enableWhenExpressions: EnableWhenExpressions, terminologyServerUrl: string): Promise<{ isUpdated: boolean; updatedEnableWhenExpressions: EnableWhenExpressions; }>; interface MutateRepeatEnableWhenExpressionInstancesParams { questionnaireResponse: QuestionnaireResponse; questionnaireResponseItemMap: Record; variables: Variables; existingFhirPathContext: Record; fhirPathTerminologyCache: Record; enableWhenExpressions: EnableWhenExpressions; parentRepeatGroupLinkId: string; parentRepeatGroupIndex: number; actionType: 'add' | 'remove'; terminologyServerUrl: string; } export declare function mutateRepeatEnableWhenExpressionInstances(params: MutateRepeatEnableWhenExpressionInstancesParams): Promise<{ updatedEnableWhenExpressions: EnableWhenExpressions; isUpdated: boolean; }>; export {};