@acorex-platform/module-assessment-management-client 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-jljmsqNu.mjs +10593 -0
  2. package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-jljmsqNu.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-case-status.provider-i48XDX-I.mjs +83 -0
  4. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-case-status.provider-i48XDX-I.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-42ZcOY2C.mjs +124 -0
  6. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-42ZcOY2C.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-status.provider-Bk9hHj5V.mjs +97 -0
  8. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-status.provider-Bk9hHj5V.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-voice.commands-CduVfWQ-.mjs +134 -0
  10. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-voice.commands-CduVfWQ-.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs +1171 -0
  12. package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-assessment-management-client-fill-assessment-session.command-VF80DWQf.mjs +270 -0
  14. package/fesm2022/acorex-platform-module-assessment-management-client-fill-assessment-session.command-VF80DWQf.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-assessment-management-client-list-question-difficulty-options.query-h3xT-MNd.mjs +59 -0
  16. package/fesm2022/acorex-platform-module-assessment-management-client-list-question-difficulty-options.query-h3xT-MNd.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-assessment-management-client-preview-question.command-C1ODQxDn.mjs +123 -0
  18. package/fesm2022/acorex-platform-module-assessment-management-client-preview-question.command-C1ODQxDn.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-assessment-management-client-preview-questionnaire.command-DBm7ve4w.mjs +165 -0
  20. package/fesm2022/acorex-platform-module-assessment-management-client-preview-questionnaire.command-DBm7ve4w.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-assessment-management-client-preview-session-pdf.command-BsiJU6ep.mjs +178 -0
  22. package/fesm2022/acorex-platform-module-assessment-management-client-preview-session-pdf.command-BsiJU6ep.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Bbl-efrl.mjs +489 -0
  24. package/fesm2022/acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Bbl-efrl.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-Djcfg0dv.mjs +609 -0
  26. package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-Djcfg0dv.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-assessment-management-client-review-assessment-session.command-CZ96KQ-l.mjs +228 -0
  28. package/fesm2022/acorex-platform-module-assessment-management-client-review-assessment-session.command-CZ96KQ-l.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-assessment-management-client-view-session-answers.command-CCzJoJ4p.mjs +280 -0
  30. package/fesm2022/acorex-platform-module-assessment-management-client-view-session-answers.command-CCzJoJ4p.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-assessment-management-client.mjs +2 -0
  32. package/fesm2022/acorex-platform-module-assessment-management-client.mjs.map +1 -0
  33. package/package.json +28 -0
  34. package/types/acorex-platform-module-assessment-management-client-contracts.d.ts +752 -0
  35. package/types/acorex-platform-module-assessment-management-client.d.ts +1279 -0
@@ -0,0 +1,752 @@
1
+ import { AXPMultiLanguageString, AXPExpression, AXPWidgetNode, AXPEntityReference, AXPFileListItem } from '@acorex-platform/framework-shared/core';
2
+ import * as _acorex_platform_module_assessment_management_client_contracts from '@acorex-platform/module-assessment-management-client/contracts';
3
+ import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
4
+
5
+ declare const AXMAssessmentManagementFeatureKeys: {
6
+ readonly QuestionnaireManagement: "AssessmentManagement:Feature:Questionnaire.Management";
7
+ };
8
+
9
+ declare const AXPAssessmentManagementMenuKeys: {
10
+ readonly Questionnaires: "AssessmentManagement:Menu:Questionnaires";
11
+ readonly Cases: "AssessmentManagement:Menu:Cases";
12
+ readonly QuestionBankItems: "AssessmentManagement:Menu:QuestionBankItems";
13
+ };
14
+
15
+ /**
16
+ * Safety & Risk capabilities used by this module.
17
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
18
+ */
19
+ declare const AXPSafetyRiskPermissionKeys: {
20
+ readonly Access: "SafetyRisk:Permission:Access";
21
+ readonly MaintainSafety: "SafetyRisk:Permission:MaintainSafety";
22
+ readonly MaintainRisk: "SafetyRisk:Permission:MaintainRisk";
23
+ readonly MaintainHealth: "SafetyRisk:Permission:MaintainHealth";
24
+ readonly MaintainAssessments: "SafetyRisk:Permission:MaintainAssessments";
25
+ readonly Setup: "SafetyRisk:Permission:Setup";
26
+ };
27
+ /**
28
+ * @deprecated Prefer {@link AXPSafetyRiskPermissionKeys}.
29
+ * Legacy nested shape kept so existing imports compile during migration.
30
+ */
31
+ declare const AXMAssessmentManagementPermissionKeys: {
32
+ readonly AssessmentManagement: {
33
+ readonly QuestionBank: "SafetyRisk:Permission:MaintainAssessments";
34
+ readonly Questionnaire: {
35
+ readonly Management: "SafetyRisk:Permission:MaintainAssessments";
36
+ readonly Create: "SafetyRisk:Permission:MaintainAssessments";
37
+ readonly Edit: "SafetyRisk:Permission:MaintainAssessments";
38
+ readonly Delete: "SafetyRisk:Permission:MaintainAssessments";
39
+ };
40
+ readonly Case: {
41
+ readonly Management: "SafetyRisk:Permission:MaintainAssessments";
42
+ };
43
+ readonly Session: {
44
+ readonly Management: "SafetyRisk:Permission:MaintainAssessments";
45
+ };
46
+ readonly Automation: {
47
+ readonly Management: "SafetyRisk:Permission:MaintainAssessments";
48
+ };
49
+ };
50
+ };
51
+
52
+ /** Component key for the questionnaire Outcomes page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */
53
+ declare const QUESTIONNAIRE_OUTCOMES_PAGE_COMPONENT_KEY = "questionnaire-outcomes-page";
54
+
55
+ /** Component key for the questionnaire Questions page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */
56
+ declare const QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY = "questionnaire-questions-page";
57
+
58
+ /**
59
+ * Respondent free-text comment configuration (per question bank item; overridable per questionnaire item).
60
+ *
61
+ * `enabled` follows the same boolean | expression pattern as question `isVisible` / `isRequired`
62
+ * (property-viewer toggle binding). Optional `isVisible` remains as a legacy/additional gate.
63
+ */
64
+ interface AXMAssessmentQuestionCommentConfig {
65
+ /** `true` / `false`, or a visibility expression string (shown in Allow Comments). */
66
+ enabled: boolean | AXPExpression;
67
+ required: boolean;
68
+ /**
69
+ * Optional extra visibility gate (legacy). Prefer putting conditions on {@link enabled}.
70
+ * Omitted / `true` = no extra gate; `false` hides; string = expression.
71
+ */
72
+ isVisible?: boolean | AXPExpression;
73
+ }
74
+ /**
75
+ * Visual style when a hint is shown (maps to ax-alert color).
76
+ */
77
+ type AXMAssessmentQuestionHintVisualMode = 'info' | 'warning' | 'danger' | 'success' | 'neutral';
78
+ /**
79
+ * `off` = no hint (same intent as "hidden" / "none"); visual modes require {@link AXMAssessmentQuestionHintConfigShown.content}.
80
+ */
81
+ type AXMAssessmentQuestionHintMode = 'off' | AXMAssessmentQuestionHintVisualMode;
82
+ type AXMAssessmentQuestionHintConfigOff = {
83
+ mode: 'off';
84
+ };
85
+ type AXMAssessmentQuestionHintConfigShown = {
86
+ mode: AXMAssessmentQuestionHintVisualMode;
87
+ content: AXPMultiLanguageString;
88
+ };
89
+ /**
90
+ * Question hint configuration (question bank default; overridable per questionnaire item).
91
+ */
92
+ type AXMAssessmentQuestionHintConfig = AXMAssessmentQuestionHintConfigOff | AXMAssessmentQuestionHintConfigShown;
93
+ /**
94
+ * Partial override on a questionnaire item (`undefined` / omitted fields inherit from the bank).
95
+ */
96
+ type AXMAssessmentQuestionHintPartial = {
97
+ mode?: AXMAssessmentQuestionHintMode;
98
+ content?: AXPMultiLanguageString;
99
+ };
100
+
101
+ /** Paper size for the generated PDF. */
102
+ type QuestionnairePrintPaperSize = 'A4' | 'Letter' | 'Legal';
103
+ /** Page orientation for the generated PDF. */
104
+ type QuestionnairePrintOrientation = 'portrait' | 'landscape';
105
+ /** Resolved print page breaks (no sidebar). Follows Display view mode. */
106
+ type QuestionnairePrintPaging = 'single-page' | 'page-per-group' | 'page-per-question';
107
+ /**
108
+ * Print document options stored on the questionnaire (defaults) and accepted as overrides
109
+ * by the print host / snapshot service.
110
+ */
111
+ interface QuestionnairePrintSettings {
112
+ paperSize?: QuestionnairePrintPaperSize;
113
+ orientation?: QuestionnairePrintOrientation;
114
+ /** Optional diagonal text on every page. Empty means no watermark. */
115
+ watermark?: string;
116
+ showQuestionNumbers?: boolean;
117
+ showWelcomeScreen?: boolean;
118
+ showSummaryAfterSubmit?: boolean;
119
+ showOutcomeResults?: boolean;
120
+ showUnansweredQuestions?: boolean;
121
+ showComments?: boolean;
122
+ showAttachments?: boolean;
123
+ showHints?: boolean;
124
+ showNotes?: boolean;
125
+ }
126
+ declare const DEFAULT_QUESTIONNAIRE_PRINT_SETTINGS: Required<QuestionnairePrintSettings>;
127
+ /** Side margin used by the print document and Chromium PDF engine. */
128
+ declare const PRINT_PAGE_SIDE_MARGIN_MM = 14;
129
+ /**
130
+ * Playwright paints repeating letterhead in the top/bottom margin box.
131
+ * These must stay large enough for the company header/footer; measuring
132
+ * chrome height under-reported and overlapped the questionnaire title.
133
+ */
134
+ declare const PRINT_PAGE_LETTERHEAD_TOP_MARGIN_MM = 36;
135
+ declare const PRINT_PAGE_LETTERHEAD_BOTTOM_MARGIN_MM = 28;
136
+ declare function resolvePrintLetterheadPdfMargin(): {
137
+ top: string;
138
+ right: string;
139
+ bottom: string;
140
+ left: string;
141
+ };
142
+ declare function normalizePrintPaperSize(value: unknown): QuestionnairePrintPaperSize;
143
+ declare function normalizePrintOrientation(value: unknown): QuestionnairePrintOrientation;
144
+ declare function normalizePrintWatermark(value: unknown): string;
145
+ /**
146
+ * Merges questionnaire defaults with an optional per-call override.
147
+ * Undefined override fields keep the stored / built-in default.
148
+ */
149
+ declare function resolvePrintSettings(stored?: Partial<QuestionnairePrintSettings> | null, override?: Partial<QuestionnairePrintSettings> | null): Required<QuestionnairePrintSettings>;
150
+ /**
151
+ * Resolves print page breaks from the Display view mode.
152
+ * `side-menu` prints as page-per-group (no sidebar).
153
+ */
154
+ declare function resolvePrintPaging(displayViewMode?: string | null): QuestionnairePrintPaging;
155
+ /** Content width after side margins, for the off-screen print host and wrapped HTML. */
156
+ declare function resolvePrintContentWidthMm(print: Pick<QuestionnairePrintSettings, 'paperSize' | 'orientation'>): number;
157
+ declare function resolvePrintPdfPageOptions(print: Pick<QuestionnairePrintSettings, 'paperSize' | 'orientation'>): {
158
+ format: QuestionnairePrintPaperSize;
159
+ landscape: boolean;
160
+ };
161
+
162
+ /**
163
+ * Display settings for questionnaire viewer
164
+ */
165
+ /** Whether the respondent can save a draft before final submit. */
166
+ type QuestionnaireCompletionMode = 'submit-only' | 'save-and-continue';
167
+ interface QuestionnaireDisplaySettings {
168
+ /**
169
+ * View mode: single-page, page-per-group, page-per-question, side-menu
170
+ */
171
+ viewMode?: 'single-page' | 'page-per-group' | 'page-per-question' | 'side-menu';
172
+ /**
173
+ * submit-only: final submit only; save-and-continue: draft save + submit.
174
+ */
175
+ completionMode?: QuestionnaireCompletionMode;
176
+ /**
177
+ * Show progress bar
178
+ */
179
+ showProgressBar?: boolean;
180
+ /**
181
+ * Progress calculation mode: answered or navigation
182
+ */
183
+ progressMode?: 'answered' | 'navigation';
184
+ /**
185
+ * Show timer
186
+ */
187
+ showTimer?: boolean;
188
+ /**
189
+ * Show question numbers
190
+ */
191
+ showQuestionNumbers?: boolean;
192
+ /**
193
+ * Auto-save answers as user types
194
+ */
195
+ autoSave?: boolean;
196
+ /**
197
+ * Show validation errors inline
198
+ */
199
+ showValidationErrors?: boolean;
200
+ /**
201
+ * Allow skipping questions (if not required)
202
+ */
203
+ allowSkipping?: boolean;
204
+ /**
205
+ * Show question counter (e.g., "Question 3 of 10")
206
+ */
207
+ showQuestionCounter?: boolean;
208
+ /**
209
+ * Validation timing strategy:
210
+ * - step: validate on each step/section navigation
211
+ * - end: validate only at final submit
212
+ * Default: step
213
+ */
214
+ validationStrategy?: 'step' | 'end';
215
+ }
216
+ /**
217
+ * Value structure stored in entity (simplified for persistence)
218
+ */
219
+ interface QuestionnaireBuilderValue {
220
+ sections: Array<{
221
+ name: string;
222
+ title: AXPMultiLanguageString;
223
+ description?: AXPMultiLanguageString;
224
+ order: number;
225
+ tags?: string[];
226
+ isVisible?: boolean | AXPExpression;
227
+ items: Array<{
228
+ name: string;
229
+ questionBankItemId: string;
230
+ order: number;
231
+ isRequired?: boolean | AXPExpression;
232
+ isVisible?: boolean | AXPExpression;
233
+ interfaceOverride?: AXPWidgetNode;
234
+ hint?: AXMAssessmentQuestionHintPartial;
235
+ comment?: Partial<AXMAssessmentQuestionCommentConfig>;
236
+ tags?: string[];
237
+ }>;
238
+ }>;
239
+ /**
240
+ * Display settings for questionnaire viewer
241
+ */
242
+ displaySettings?: QuestionnaireDisplaySettings;
243
+ /**
244
+ * Print document defaults (overridable per print call).
245
+ */
246
+ printSettings?: QuestionnairePrintSettings;
247
+ }
248
+
249
+ declare const RootConfig: {
250
+ readonly config: {
251
+ readonly i18n: "assessment-management";
252
+ readonly module: "AssessmentManagement";
253
+ };
254
+ readonly module: {
255
+ readonly module: "assessment-management";
256
+ readonly route: "assessment-management";
257
+ readonly name: "AssessmentManagement";
258
+ readonly title: "@assessment-management:module.title";
259
+ readonly icon: "fa-light fa-clipboard-list-check";
260
+ };
261
+ readonly entities: {
262
+ readonly questionBankItem: {
263
+ readonly name: "QuestionBankItem";
264
+ readonly title: "@assessment-management:question-bank.entities.question-bank-item.title";
265
+ readonly titlePlural: "@assessment-management:question-bank.entities.question-bank-item.plural";
266
+ readonly icon: "fa-light fa-question-circle";
267
+ };
268
+ readonly questionnaire: {
269
+ readonly name: "Questionnaire";
270
+ readonly title: "@assessment-management:questionnaires.entities.questionnaire.title";
271
+ readonly titlePlural: "@assessment-management:questionnaires.entities.questionnaire.plural";
272
+ readonly icon: "fa-light fa-clipboard-list";
273
+ };
274
+ readonly assessmentCase: {
275
+ readonly name: "AssessmentCase";
276
+ readonly title: "@assessment-management:cases.entities.assessment-case.title";
277
+ readonly titlePlural: "@assessment-management:cases.entities.assessment-case.plural";
278
+ readonly icon: "fa-light fa-briefcase";
279
+ };
280
+ readonly assessmentSession: {
281
+ readonly name: "AssessmentSession";
282
+ readonly title: "@assessment-management:sessions.entities.assessment-session.title";
283
+ readonly titlePlural: "@assessment-management:sessions.entities.assessment-session.plural";
284
+ readonly icon: "fa-light fa-clipboard-check";
285
+ };
286
+ };
287
+ readonly queries: {
288
+ readonly dashboard: {
289
+ readonly overdueAssessmentsKpi: "AssessmentManagement:Dashboard:OverdueAssessmentsKpi";
290
+ readonly pendingAssessmentsKpi: "AssessmentManagement:Dashboard:PendingAssessmentsKpi";
291
+ readonly myAssessmentsKpi: "AssessmentManagement:Dashboard:MyAssessmentsKpi";
292
+ readonly assessmentsWeekLine: "AssessmentManagement:Dashboard:AssessmentsWeekLine";
293
+ };
294
+ };
295
+ };
296
+
297
+ /** Server command that renders a filled assessment session to PDF. */
298
+ declare const AXM_ASSESSMENT_SESSION_PREVIEW_PDF_COMMAND_KEY: "AssessmentManagement:AssessmentSession:PreviewPdf";
299
+ /** Client / entity-menu command that opens the PDF preview dialog. */
300
+ declare const AXM_ASSESSMENT_SESSION_PREVIEW_PDF_CLIENT_COMMAND_KEY: "AssessmentManagement.AssessmentSession:PreviewPdf";
301
+ interface AXMAssessmentSessionPreviewPdfRequest {
302
+ /** Specific session. Required when `caseId` and `printHtmlGzip` are omitted. */
303
+ sessionId?: string;
304
+ /** When `sessionId` is omitted, the latest session for this case is used. */
305
+ caseId?: string;
306
+ /**
307
+ * Questionnaire ID. Used when there is no session (builder Preview) so the
308
+ * selected print text template and tenant can still be loaded.
309
+ */
310
+ questionnaireId?: string;
311
+ /** Locale for MLS titles and answer formatting. Defaults to `en-US`. */
312
+ locale?: string;
313
+ /**
314
+ * Gzipped live questionnaire HTML. When set, the PDF is rendered from this
315
+ * snapshot and session lookup is skipped.
316
+ */
317
+ printHtmlGzip?: string;
318
+ /** File / header title when rendering a live snapshot. */
319
+ title?: string;
320
+ /** Overrides questionnaire `printTemplateId` for this render. */
321
+ printTemplateId?: string;
322
+ /** Overrides questionnaire paper size for this render. */
323
+ paperSize?: 'A4' | 'Letter' | 'Legal';
324
+ /** Overrides questionnaire orientation for this render. */
325
+ orientation?: 'portrait' | 'landscape';
326
+ /** Overrides questionnaire watermark for this render. */
327
+ watermark?: string;
328
+ }
329
+ interface AXMAssessmentSessionPreviewPdfResult {
330
+ filename: string;
331
+ contentType: 'application/pdf';
332
+ base64: string;
333
+ }
334
+
335
+ /**
336
+ * Event merge keys passed to `ContentManagement:TextTemplate:Render` (`channel: print`).
337
+ * Names must match `PlatformManagement.Tokens` Event rows.
338
+ */
339
+ declare const AXM_ASSESSMENT_PRINT_MERGE_KEYS: {
340
+ readonly questionnaireTitle: "questionnaireTitle";
341
+ readonly caseTitle: "caseTitle";
342
+ readonly sessionDate: "sessionDate";
343
+ readonly generatedAt: "generatedAt";
344
+ readonly status: "status";
345
+ readonly statusLabel: "statusLabel";
346
+ readonly sessionBody: "sessionBody";
347
+ };
348
+ type AXMAssessmentPrintMergeKey = (typeof AXM_ASSESSMENT_PRINT_MERGE_KEYS)[keyof typeof AXM_ASSESSMENT_PRINT_MERGE_KEYS];
349
+
350
+ declare const ASSESSMENT_PRINT_PAGE_FORMAT: _acorex_platform_module_assessment_management_client_contracts.QuestionnairePrintPaperSize;
351
+ /** A4 portrait content width after 14mm side margins (210 - 14 - 14). */
352
+ declare const ASSESSMENT_PRINT_CONTENT_WIDTH_MM: number;
353
+ declare const ASSESSMENT_PRINT_HTML_GZIP_ENCODING: "gzip-base64";
354
+ declare function minifyPrintHtml(html: string): string;
355
+ declare function resolvePrintPlainText(value: unknown): string;
356
+ declare function formatPrintAnswerText(value: unknown): string;
357
+ interface QuestionnairePrintQuestionHtml {
358
+ titleHtml: string;
359
+ answerHtml: string;
360
+ number?: string;
361
+ answered?: boolean;
362
+ /** Full cloned `.__question-item` card; used as-is when present. */
363
+ cardHtml?: string;
364
+ }
365
+ interface QuestionnairePrintBodySection {
366
+ title: string;
367
+ questions: QuestionnairePrintQuestionHtml[];
368
+ }
369
+ declare function buildQuestionnaireQuestionCardHtml(input: QuestionnairePrintQuestionHtml): string;
370
+ declare function buildQuestionnairePrintBodyHtml(input: {
371
+ title: string;
372
+ caseTitle?: string;
373
+ status?: string;
374
+ sections: QuestionnairePrintBodySection[];
375
+ }): string;
376
+ /** Q&A sections only — title/date live in the questionnaire print child template. */
377
+ declare function buildQuestionnaireSessionBodyHtml(input: {
378
+ sections: QuestionnairePrintBodySection[];
379
+ }): string;
380
+ interface QuestionnairePrintHeaderInput {
381
+ title: string;
382
+ caseTitle?: string;
383
+ sessionDate?: string;
384
+ statusLabel?: string;
385
+ }
386
+ /** Compact repeating questionnaire band: title left, date/status right. */
387
+ declare function buildQuestionnairePrintHeaderRegion(input: QuestionnairePrintHeaderInput): string;
388
+ /**
389
+ * Ensures the compact questionnaire header is the last `data-print-region="header"`
390
+ * (under the company letterhead) and removes the old first-page-only title block.
391
+ */
392
+ declare function applyQuestionnairePrintHeader(html: string, input: QuestionnairePrintHeaderInput): string;
393
+ /** Inner body of a wrapped print document, without watermark. */
394
+ declare function extractPrintDocumentBodyHtml(html: string): string;
395
+ declare function wrapPrintDocument(input: {
396
+ title: string;
397
+ bodyHtml: string;
398
+ headerHtml?: string;
399
+ footerHtml?: string;
400
+ print?: Partial<QuestionnairePrintSettings> | null;
401
+ }): {
402
+ html: string;
403
+ headerHtml: string;
404
+ footerHtml: string;
405
+ };
406
+ declare function escapePrintDocumentText(value: string): string;
407
+
408
+ type AXMAssessmentCaseStatus = 'draft' | 'active' | 'in-progress' | 'closed' | 'cancelled';
409
+ interface AXMAssessmentManagementAssessmentCaseEntityModel extends AXPEntityModel<string> {
410
+ /**
411
+ * Single questionnaire assigned to this case.
412
+ */
413
+ questionnaireId: string;
414
+ /**
415
+ * Optional friendly title for lists/search.
416
+ */
417
+ title: string;
418
+ /**
419
+ * Target entity (e.g. AssetManagement.Asset, HumanCapital.Employee).
420
+ */
421
+ subjectRef: AXPEntityReference;
422
+ /** Status plugin field (`assessment-management.status.case`). */
423
+ statusId?: AXMAssessmentCaseStatus;
424
+ }
425
+
426
+ type AXMAssessmentSessionRole = 'responder' | 'supervisor' | 'reviewer';
427
+ type AXMAssessmentSessionStatus = 'not-started' | 'in-progress' | 'submitted' | 'under-review' | 'approved' | 'rejected' | 'completed';
428
+ interface AXMAssessmentManagementAssessmentSessionEntityModel extends AXPEntityModel<string> {
429
+ caseId: string;
430
+ responderId: string;
431
+ role: AXMAssessmentSessionRole;
432
+ /** Status plugin field (`assessment-management.status.session`). */
433
+ statusId?: AXMAssessmentSessionStatus;
434
+ startedAt?: Date;
435
+ lastSavedAt?: Date;
436
+ timeSpent?: number;
437
+ progressPercentage: number;
438
+ answeredQuestionsCount: number;
439
+ answers: Record<string, unknown>;
440
+ /**
441
+ * Evaluated questionnaire outcome values (rule `name` → value), snapshot at submit.
442
+ */
443
+ outcomes?: Record<string, unknown>;
444
+ /**
445
+ * Gzip+base64 print HTML captured on the client after submit.
446
+ * Server gunzips this and sends it to the HTML-to-PDF engine.
447
+ */
448
+ printHtmlGzip?: string;
449
+ previousId?: string;
450
+ }
451
+
452
+ /** Provenance when `interface` was loaded from a meta-data definition (frozen clone). */
453
+ interface AXMQuestionBankItemInterfaceMetadata {
454
+ id: string;
455
+ name: string;
456
+ title: AXPMultiLanguageString | string;
457
+ /**
458
+ * TODO: Set from definition versioning when the versioning system is implemented (placeholder until then).
459
+ */
460
+ version: number;
461
+ }
462
+ type AXMQuestionBankItemInterfaceValue = AXPWidgetNode & {
463
+ metadata?: AXMQuestionBankItemInterfaceMetadata;
464
+ };
465
+ interface AXMAssessmentManagementQuestionBankItemEntityModel extends AXPEntityModel<string> {
466
+ /**
467
+ * Short label for the question bank list (administrators).
468
+ * Not used as the respondent-facing question text; see `question`.
469
+ */
470
+ title: AXPMultiLanguageString;
471
+ /** Unique variable name for questionnaire outcomes (answer.eval('name')). */
472
+ name?: string;
473
+ /** Respondent-facing question body (rich text). */
474
+ question?: AXPMultiLanguageString;
475
+ /** Optional note (rich text); formerly description. */
476
+ note?: AXPMultiLanguageString;
477
+ categoryId?: string;
478
+ /** Registered catalog scope keys (see platform catalog scope providers). */
479
+ catalogScopeKeys?: string[];
480
+ /** Resolved scope labels for list display (enriched by catalog-scope resolver middleware). */
481
+ catalogScopes?: Array<{
482
+ name: string;
483
+ title: string;
484
+ cssClass?: string;
485
+ }>;
486
+ tags?: string[];
487
+ difficulty?: 'easy' | 'medium' | 'hard';
488
+ estimatedTime?: number;
489
+ /** Default hint (rich text + style, or off). Overridable per questionnaire item. */
490
+ hint?: AXMAssessmentQuestionHintConfig;
491
+ /** Default respondent comment box policy (overridable per questionnaire item). */
492
+ comment?: AXMAssessmentQuestionCommentConfig;
493
+ interface?: AXMQuestionBankItemInterfaceValue;
494
+ }
495
+
496
+ /**
497
+ * Default when no configuration is stored.
498
+ */
499
+ declare const DEFAULT_QUESTION_COMMENT_CONFIG: AXMAssessmentQuestionCommentConfig;
500
+ /**
501
+ * Normalizes API / partial values to a complete config.
502
+ * Preserves expression strings on `enabled` (Allow Comments toggle binding).
503
+ */
504
+ declare function normalizeQuestionCommentConfig(value: Partial<AXMAssessmentQuestionCommentConfig> | null | undefined): AXMAssessmentQuestionCommentConfig;
505
+ /**
506
+ * Merges question bank defaults with optional questionnaire item overrides.
507
+ */
508
+ declare function mergeQuestionCommentConfig(bank: Partial<AXMAssessmentQuestionCommentConfig> | null | undefined, override: Partial<AXMAssessmentQuestionCommentConfig> | null | undefined): AXMAssessmentQuestionCommentConfig;
509
+ /**
510
+ * Returns only fields that differ from the bank default (for persisting questionnaire item overrides).
511
+ */
512
+ declare function diffQuestionCommentOverride(bank: AXMAssessmentQuestionCommentConfig, edited: AXMAssessmentQuestionCommentConfig): Partial<AXMAssessmentQuestionCommentConfig> | undefined;
513
+ /**
514
+ * Form context for the question edit dialog: surface legacy `isVisible` expressions on `enabled`
515
+ * (Allow Comments) so they display and save like question `isVisible`.
516
+ */
517
+ declare function commentConfigForEditForm(merged: AXMAssessmentQuestionCommentConfig): Pick<AXMAssessmentQuestionCommentConfig, 'enabled' | 'required'>;
518
+ /**
519
+ * Effective visibility flag for the comment box (for async evaluation).
520
+ * Prefers expression/`false` on `enabled`; falls back to legacy `isVisible` when `enabled === true`.
521
+ */
522
+ declare function getQuestionCommentVisibilityFlag(comment: AXMAssessmentQuestionCommentConfig | null | undefined): boolean | AXPExpression | undefined;
523
+ /**
524
+ * Context path for the respondent comment text for a questionnaire item (`answers.comments.<itemName>`).
525
+ */
526
+ declare function getQuestionAnswerCommentStoragePath(questionItemName: string): string;
527
+
528
+ declare const DEFAULT_QUESTION_HINT_CONFIG: AXMAssessmentQuestionHintConfig;
529
+ /** Normalizes select / API values to a hint mode (exported for questionnaire builder forms). */
530
+ declare function normalizeQuestionHintMode(raw: unknown): AXMAssessmentQuestionHintMode | undefined;
531
+ /**
532
+ * Reads optional `hint` or legacy flat `hintContent` / `hintMode` from a record (API / persisted rows).
533
+ */
534
+ declare function readHintFieldsFromRecord(rec: Record<string, unknown> | null | undefined): {
535
+ hint?: unknown;
536
+ legacyContent?: unknown;
537
+ legacyMode?: unknown;
538
+ };
539
+ /**
540
+ * Normalizes API / partial values to a complete config. Coerces legacy flat fields when `hint` is absent.
541
+ */
542
+ declare function normalizeQuestionHintConfig(value: AXMAssessmentQuestionHintConfig | AXMAssessmentQuestionHintPartial | null | undefined, legacy?: {
543
+ hintContent?: AXPMultiLanguageString;
544
+ hintMode?: unknown;
545
+ }): AXMAssessmentQuestionHintConfig;
546
+ /**
547
+ * Merges question bank defaults with optional questionnaire item overrides (per-field, like former hintContent/hintMode).
548
+ */
549
+ declare function mergeQuestionHintForViewer(bank: AXMAssessmentQuestionHintConfig | null | undefined, item: AXMAssessmentQuestionHintPartial | null | undefined): AXMAssessmentQuestionHintConfig;
550
+ /**
551
+ * Returns only fields that differ from the bank default (for persisting questionnaire item overrides).
552
+ */
553
+ declare function diffQuestionHintOverride(bank: AXMAssessmentQuestionHintConfig, edited: AXMAssessmentQuestionHintConfig): AXMAssessmentQuestionHintPartial | undefined;
554
+ /**
555
+ * Normalizes a question bank row (or similar) to a full hint config, including legacy flat fields.
556
+ */
557
+ declare function normalizeQuestionHintFromEntityRow(row: unknown): AXMAssessmentQuestionHintConfig;
558
+ /**
559
+ * Reads optional questionnaire item hint override from a persisted item record (including legacy keys).
560
+ */
561
+ declare function parseQuestionHintPartialFromRecord(row: Record<string, unknown> | null | undefined): AXMAssessmentQuestionHintPartial | undefined;
562
+
563
+ /**
564
+ * Pre- / post-questionnaire rich text (welcome, summary, etc.).
565
+ * @alias AXPMultiLanguageString
566
+ */
567
+ type PrePostContentValue = AXPMultiLanguageString;
568
+ /**
569
+ * Pre-questionnaire configuration (shown before questions).
570
+ */
571
+ interface PreQuestionnaireConfig {
572
+ enabled: boolean;
573
+ /** Rich text content. Supports multi-language: Record<locale, string>. */
574
+ content?: PrePostContentValue;
575
+ }
576
+ /**
577
+ * Post-questionnaire configuration (review before submit, summary after submit).
578
+ * Summary content supports placeholders: {{totalQuestions}}, {{answeredCount}}, {{totalTime}}, {{elapsedSeconds}}, and {{outcomeName}} from configured outcomes.
579
+ */
580
+ interface PostQuestionnaireConfig {
581
+ /** Show review step before submit (all answers, edit/submit). */
582
+ reviewEnabled: boolean;
583
+ /** Show summary screen after submit. */
584
+ summaryEnabled: boolean;
585
+ /** When true, show a separate step with outcome results (name/value list). */
586
+ showOutcomeResults?: boolean;
587
+ /** Rich text content for summary. Supports multi-language and placeholders. */
588
+ summaryContent?: PrePostContentValue;
589
+ }
590
+ /**
591
+ * Entity-level display options (viewer / builder preview). Subset of {@link QuestionnaireDisplaySettings}.
592
+ */
593
+ type QuestionnaireEntityDisplaySettings = Pick<QuestionnaireDisplaySettings, 'viewMode' | 'showProgressBar' | 'showTimer' | 'showQuestionNumbers' | 'validationStrategy' | 'completionMode'>;
594
+ declare const DEFAULT_PRE_QUESTIONNAIRE_CONFIG: PreQuestionnaireConfig;
595
+ declare const DEFAULT_POST_QUESTIONNAIRE_CONFIG: PostQuestionnaireConfig;
596
+ declare const DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY: QuestionnaireEntityDisplaySettings;
597
+ /** Entity-level print document defaults. */
598
+ type QuestionnaireEntityPrintSettings = QuestionnairePrintSettings;
599
+ declare const DEFAULT_QUESTIONNAIRE_ENTITY_PRINT: Required<QuestionnaireEntityPrintSettings>;
600
+ /**
601
+ * Pre/post configuration for viewer flow (from {@link toPrePostConfig}).
602
+ */
603
+ interface PrePostConfig {
604
+ pre: PreQuestionnaireConfig;
605
+ post: PostQuestionnaireConfig;
606
+ }
607
+ /** Primitive type of an evaluated outcome value (coercion after expression runs). */
608
+ type QuestionnaireOutcomeResultKind = 'number' | 'string' | 'boolean';
609
+ /** Text emphasis for outcome result display rules. */
610
+ type QuestionnaireOutcomeDisplayEmphasis = 'normal' | 'medium' | 'bold';
611
+ /** Comparison operator for display rule conditions against the evaluated outcome `value`. */
612
+ type QuestionnaireOutcomeDisplayOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
613
+ /**
614
+ * Theme color chooser value: `"foreground background border"` (hex or utility classes).
615
+ */
616
+ type QuestionnaireOutcomeDisplayColor = string;
617
+ /** Icon chooser value or resolved Font Awesome class string. */
618
+ type QuestionnaireOutcomeDisplayIcon = string | {
619
+ label?: string;
620
+ styleClass?: string;
621
+ iconClass?: string;
622
+ };
623
+ /**
624
+ * Conditional styling for an outcome value in the results step.
625
+ * Rules are evaluated in order; the first matching condition wins.
626
+ */
627
+ interface QuestionnaireOutcomeDisplayRule {
628
+ id: string;
629
+ order: number;
630
+ operator: QuestionnaireOutcomeDisplayOperator;
631
+ compareValue: number | string | boolean;
632
+ /** Theme color chooser value applied to the outcome value in results. */
633
+ color: QuestionnaireOutcomeDisplayColor;
634
+ emphasis?: QuestionnaireOutcomeDisplayEmphasis;
635
+ icon?: QuestionnaireOutcomeDisplayIcon;
636
+ }
637
+ /** Parses a theme color chooser value into foreground, background, and border parts. */
638
+ declare function parseQuestionnaireOutcomeDisplayColor(value: string | null | undefined): {
639
+ foreground: string;
640
+ background: string;
641
+ border: string;
642
+ } | null;
643
+ declare function isQuestionnaireOutcomeDisplayColorHex(value: string): boolean;
644
+ /**
645
+ * Returns true when the evaluated outcome value matches the display rule condition.
646
+ */
647
+ declare function matchesQuestionnaireOutcomeDisplayRule(value: unknown, rule: Pick<QuestionnaireOutcomeDisplayRule, 'operator' | 'compareValue'>): boolean;
648
+ declare function normalizeQuestionnaireOutcomeDisplayRules(rules: QuestionnaireOutcomeDisplayRule[] | null | undefined): QuestionnaireOutcomeDisplayRule[];
649
+ /**
650
+ * Named outcome rule embedded on a questionnaire.
651
+ * Referenced in expressions via outcome.eval('name') and in summary placeholders as {{name}}.
652
+ */
653
+ interface QuestionnaireOutcomeItem {
654
+ id: string;
655
+ /** Unique programmatic name within the questionnaire (variable-name style). */
656
+ name: string;
657
+ title?: AXPMultiLanguageString;
658
+ description?: AXPMultiLanguageString;
659
+ resultKind: QuestionnaireOutcomeResultKind;
660
+ /**
661
+ * Use `{{ ... }}` or plain expression body; scope includes `answer.eval`, `outcome.eval`, and `fn.*`.
662
+ */
663
+ expression: string;
664
+ /** Optional ordered display rules applied to the evaluated value in the results step. */
665
+ displayRules?: QuestionnaireOutcomeDisplayRule[];
666
+ }
667
+ /** Section grouping outcome rules (same builder pattern as questionnaire questions). */
668
+ interface QuestionnaireOutcomeSection {
669
+ /** Unique technical section name. */
670
+ name: string;
671
+ title?: AXPMultiLanguageString;
672
+ description?: AXPMultiLanguageString;
673
+ order: number;
674
+ items: QuestionnaireOutcomeItem[];
675
+ isNewlyAdded?: boolean;
676
+ }
677
+ /** Embedded outcome rules on questionnaire. */
678
+ interface QuestionnaireOutcomesValue {
679
+ sections: QuestionnaireOutcomeSection[];
680
+ }
681
+ declare const DEFAULT_QUESTIONNAIRE_OUTCOMES: QuestionnaireOutcomesValue;
682
+ declare function normalizeQuestionnaireOutcomesValue(value: QuestionnaireOutcomesValue | null | undefined): QuestionnaireOutcomesValue;
683
+ /** All outcome items across sections (evaluation, automations, duplicate checks). */
684
+ declare function flattenQuestionnaireOutcomeItems(value: QuestionnaireOutcomesValue | null | undefined): QuestionnaireOutcomeItem[];
685
+ declare function findDuplicateOutcomeNames(value: QuestionnaireOutcomesValue | null | undefined): string[];
686
+ interface AXMAssessmentManagementQuestionnaireEntityModel extends AXPEntityModel<string> {
687
+ title: AXPMultiLanguageString;
688
+ description?: AXPMultiLanguageString;
689
+ type: 'questionnaire' | 'survey' | 'checklist' | 'test' | 'evaluation';
690
+ questions?: QuestionnaireBuilderValue;
691
+ /** Named outcome rules evaluated from answers (outcome.eval / summary placeholders). */
692
+ outcomes?: QuestionnaireOutcomesValue;
693
+ /** Viewer / preview display. */
694
+ display?: QuestionnaireEntityDisplaySettings;
695
+ /** Print document defaults (overridable per print call). */
696
+ print?: QuestionnaireEntityPrintSettings;
697
+ /**
698
+ * Content text template used for PDF chrome (child of the tenant print master).
699
+ * Empty uses the seeded Questionnaire Print template.
700
+ */
701
+ printTemplateId?: string | null;
702
+ /** Welcome screen before questions. */
703
+ pre?: PreQuestionnaireConfig;
704
+ /** Review before submit, summary / results after submit. */
705
+ post?: PostQuestionnaireConfig;
706
+ categoryId?: string;
707
+ /** Registered catalog scope keys (see {@link AXP_CATALOG_SCOPE_DEFINITION_PROVIDER}). */
708
+ catalogScopeKeys?: string[];
709
+ /** Resolved scope labels for list display (enriched by catalog-scope resolver middleware). */
710
+ catalogScopes?: Array<{
711
+ name: string;
712
+ title: AXPMultiLanguageString | string;
713
+ cssClass?: string;
714
+ }>;
715
+ tags?: string[];
716
+ color?: string;
717
+ /** Reference documents for respondents (attachments plugin). */
718
+ attachments?: AXPFileListItem[] | string[];
719
+ }
720
+ /**
721
+ * Maps entity pre/post to viewer config (defaults when omitted).
722
+ */
723
+ declare function toPrePostConfig(q: Partial<AXMAssessmentManagementQuestionnaireEntityModel> | null | undefined): PrePostConfig | null;
724
+ declare const VIEW_MODE_VALUES: readonly ["single-page", "page-per-group", "page-per-question", "side-menu"];
725
+ type ViewModeValue = (typeof VIEW_MODE_VALUES)[number];
726
+ declare const VALIDATION_STRATEGY_VALUES: readonly ["step", "end"];
727
+ type ValidationStrategyValue = (typeof VALIDATION_STRATEGY_VALUES)[number];
728
+ declare const COMPLETION_MODE_VALUES: readonly ["submit-only", "save-and-continue"];
729
+ type CompletionModeValue = (typeof COMPLETION_MODE_VALUES)[number];
730
+ /**
731
+ * Coerces stored view mode (string or SelectBox `{ id }`) to a known value.
732
+ */
733
+ declare function normalizeViewMode(value: unknown): ViewModeValue;
734
+ /**
735
+ * Coerces stored validation strategy (string or SelectBox `{ id }`) to a known value.
736
+ */
737
+ declare function normalizeValidationStrategy(value: unknown): ValidationStrategyValue;
738
+ /**
739
+ * Coerces stored completion mode (string or SelectBox `{ id }`) to a known value.
740
+ */
741
+ declare function normalizeCompletionMode(value: unknown): CompletionModeValue;
742
+ /**
743
+ * Maps entity `display` to {@link QuestionnaireDisplaySettings} (defaults when omitted).
744
+ */
745
+ declare function toDisplaySettings(q: Partial<AXMAssessmentManagementQuestionnaireEntityModel> | null | undefined): QuestionnaireDisplaySettings | null;
746
+ /**
747
+ * Maps entity `print` to {@link QuestionnairePrintSettings} (defaults when omitted).
748
+ */
749
+ declare function toPrintSettings(q: Partial<AXMAssessmentManagementQuestionnaireEntityModel> | null | undefined): QuestionnairePrintSettings | null;
750
+
751
+ export { ASSESSMENT_PRINT_CONTENT_WIDTH_MM, ASSESSMENT_PRINT_HTML_GZIP_ENCODING, ASSESSMENT_PRINT_PAGE_FORMAT, AXMAssessmentManagementFeatureKeys, AXMAssessmentManagementPermissionKeys, AXM_ASSESSMENT_PRINT_MERGE_KEYS, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_CLIENT_COMMAND_KEY, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_COMMAND_KEY, AXPAssessmentManagementMenuKeys, AXPSafetyRiskPermissionKeys, DEFAULT_POST_QUESTIONNAIRE_CONFIG, DEFAULT_PRE_QUESTIONNAIRE_CONFIG, DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY, DEFAULT_QUESTIONNAIRE_ENTITY_PRINT, DEFAULT_QUESTIONNAIRE_OUTCOMES, DEFAULT_QUESTIONNAIRE_PRINT_SETTINGS, DEFAULT_QUESTION_COMMENT_CONFIG, DEFAULT_QUESTION_HINT_CONFIG, PRINT_PAGE_LETTERHEAD_BOTTOM_MARGIN_MM, PRINT_PAGE_LETTERHEAD_TOP_MARGIN_MM, PRINT_PAGE_SIDE_MARGIN_MM, QUESTIONNAIRE_OUTCOMES_PAGE_COMPONENT_KEY, QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY, RootConfig, applyQuestionnairePrintHeader, buildQuestionnairePrintBodyHtml, buildQuestionnairePrintHeaderRegion, buildQuestionnaireQuestionCardHtml, buildQuestionnaireSessionBodyHtml, commentConfigForEditForm, diffQuestionCommentOverride, diffQuestionHintOverride, escapePrintDocumentText, extractPrintDocumentBodyHtml, findDuplicateOutcomeNames, flattenQuestionnaireOutcomeItems, formatPrintAnswerText, getQuestionAnswerCommentStoragePath, getQuestionCommentVisibilityFlag, isQuestionnaireOutcomeDisplayColorHex, matchesQuestionnaireOutcomeDisplayRule, mergeQuestionCommentConfig, mergeQuestionHintForViewer, minifyPrintHtml, normalizeCompletionMode, normalizePrintOrientation, normalizePrintPaperSize, normalizePrintWatermark, normalizeQuestionCommentConfig, normalizeQuestionHintConfig, normalizeQuestionHintFromEntityRow, normalizeQuestionHintMode, normalizeQuestionnaireOutcomeDisplayRules, normalizeQuestionnaireOutcomesValue, normalizeValidationStrategy, normalizeViewMode, parseQuestionHintPartialFromRecord, parseQuestionnaireOutcomeDisplayColor, readHintFieldsFromRecord, resolvePrintContentWidthMm, resolvePrintLetterheadPdfMargin, resolvePrintPaging, resolvePrintPdfPageOptions, resolvePrintPlainText, resolvePrintSettings, toDisplaySettings, toPrePostConfig, toPrintSettings, wrapPrintDocument };
752
+ export type { AXMAssessmentCaseStatus, AXMAssessmentManagementAssessmentCaseEntityModel, AXMAssessmentManagementAssessmentSessionEntityModel, AXMAssessmentManagementQuestionBankItemEntityModel, AXMAssessmentManagementQuestionnaireEntityModel, AXMAssessmentPrintMergeKey, AXMAssessmentQuestionCommentConfig, AXMAssessmentQuestionHintConfig, AXMAssessmentQuestionHintConfigOff, AXMAssessmentQuestionHintConfigShown, AXMAssessmentQuestionHintMode, AXMAssessmentQuestionHintPartial, AXMAssessmentQuestionHintVisualMode, AXMAssessmentSessionPreviewPdfRequest, AXMAssessmentSessionPreviewPdfResult, AXMAssessmentSessionRole, AXMAssessmentSessionStatus, AXMQuestionBankItemInterfaceMetadata, AXMQuestionBankItemInterfaceValue, PostQuestionnaireConfig, PrePostConfig, PrePostContentValue, PreQuestionnaireConfig, QuestionnaireBuilderValue, QuestionnaireCompletionMode, QuestionnaireDisplaySettings, QuestionnaireEntityDisplaySettings, QuestionnaireEntityPrintSettings, QuestionnaireOutcomeDisplayColor, QuestionnaireOutcomeDisplayEmphasis, QuestionnaireOutcomeDisplayIcon, QuestionnaireOutcomeDisplayOperator, QuestionnaireOutcomeDisplayRule, QuestionnaireOutcomeItem, QuestionnaireOutcomeResultKind, QuestionnaireOutcomeSection, QuestionnaireOutcomesValue, QuestionnairePrintBodySection, QuestionnairePrintHeaderInput, QuestionnairePrintOrientation, QuestionnairePrintPaging, QuestionnairePrintPaperSize, QuestionnairePrintQuestionHtml, QuestionnairePrintSettings };