import type { Questionnaire, QuestionnaireItemInitial, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4'; import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface'; import type { Tabs } from '../interfaces/tab.interface'; import type { Pages } from '../interfaces/page.interface'; import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface'; import type { TargetConstraint } from '../interfaces/targetConstraint.interface'; import type { Variables } from '../interfaces'; import type { ProcessedValueSet } from '../interfaces/valueSet.interface'; import type { AnswerOptionsToggleExpression } from '../interfaces/answerOptionsToggleExpression.interface'; /** * Initialise a questionnaireResponse from a given questionnaire * optionally takes in an existing questionnaireResponse to be initialised * * @author Sean Fong */ export declare function initialiseQuestionnaireResponse(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse): QuestionnaireResponse; export declare function parseItemInitialToAnswer(initial: QuestionnaireItemInitial): QuestionnaireResponseItemAnswer | null; export interface initialFormFromResponseParams { sourceQuestionnaire: Questionnaire; questionnaireResponse: QuestionnaireResponse; targetConstraints: Record; enableWhenItems: EnableWhenItems; enableWhenExpressions: EnableWhenExpressions; calculatedExpressions: Record; answerOptionsToggleExpressions: Record; variables: Variables; processedValueSets: Record; tabs: Tabs; pages: Pages; fhirPathContext: Record; fhirPathTerminologyCache: Record; terminologyServerUrl: string; } export declare function initialiseFormFromResponse(params: initialFormFromResponseParams): Promise<{ initialTargetConstraints: Record; initialEnableWhenItems: EnableWhenItems; initialEnableWhenLinkedQuestions: Record; initialEnableWhenExpressions: EnableWhenExpressions; initialCalculatedExpressions: Record; initialAnswerOptionsToggleExpressions: Record; initialProcessedValueSets: Record; firstVisibleTab: number; firstVisiblePage: number; updatedFhirPathContext: Record; fhirPathTerminologyCache: Record; }>;