import type { Tabs } from './tab.interface'; import type { Pages } from './page.interface'; import type { Variables } from './variables.interface'; import type { LaunchContext } from './populate.interface'; import type { EnableWhenExpressions, EnableWhenItems } from './enableWhen.interface'; import type { CalculatedExpression } from './calculatedExpression.interface'; import type { AnswerExpression } from './answerExpression.interface'; import type { Coding, QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4'; import type { InitialExpression } from './initialExpression.interface'; import type { TargetConstraint } from './targetConstraint.interface'; import type { ProcessedValueSet } from './valueSet.interface'; import type { AnswerOptionsToggleExpression } from './answerOptionsToggleExpression.interface'; export interface QuestionnaireModel { itemMap: Record>; itemPreferredTerminologyServers: Record; tabs: Tabs; pages: Pages; variables: Variables; launchContexts: Record; targetConstraints: Record; enableWhenItems: EnableWhenItems; enableWhenExpressions: EnableWhenExpressions; calculatedExpressions: Record; initialExpressions: Record; answerExpressions: Record; answerOptions: Record; answerOptionsToggleExpressions: Record; processedValueSets: Record; cachedValueSetCodings: Record; fhirPathContext: Record; fhirPathTerminologyCache: Record; }