// Per-question insight aggregation for the form overview tabs. // Pure functions only — given a section + question definition and the list // of submissions returned from `/UdpFormWithSubmissionsView/search`, produce // a normalized `{ kind, ... }` shape the renderer can dispatch on. // // Backend stores `formSubmission_Data` as PascalCase JSON; the original copy // of a section uses its bare name (`section1`), repeatable-section copies // use suffixed keys (`section1_2`, `section1_3`, …). The aggregator walks // every copy so repeatable sections contribute all instances. export declare const FIELD_TYPE: Readonly<{ Hidden: 1; SingleLineText: 2; MultiLineText: 3; Checkbox: 4; RadioButton: 5; DropdownSingleSelect: 6; DropdownMultipleSelect: 7; ListMultiSelect: 8; DateSelector: 9; TimeSelector: 10; DateTimeSelector: 11; FileUpload: 12; YesNo: 13; Signature: 14; Tally: 15; Number: 16; Paragraph: 17; ImageUpload: 18; FormMetadataDisplay: 19; Location: 20; Table: 21; }>; export declare const isDisplayOnly: (fieldTypeId: any) => boolean; export declare const FIELD_TYPE_NAME: { 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; 13: string; 14: string; 15: string; 16: string; 18: string; 20: string; 21: string; }; // Fluent icon name per field type — mirrors the builder's template registry // (builder/form-item-types/templates.ts) so the Form Structure rail here reads // the same as the builder's outline. export declare const FIELD_TYPE_ICON: { 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; 13: string; 14: string; 15: string; 16: string; 18: string; 20: string; 21: string; }; export declare const getFieldTypeIcon: (fieldTypeId: any) => any; // Type families for the filter chips. Each family groups the field types that // share an analytics shape. Trimmed to the types our system actually has — // the mockup's star-rating / NPS families have no corresponding field type. export declare const TYPE_FAMILIES: ({ key: string; label: string; types: (2 | 3)[]; } | { key: string; label: string; types: 16[]; } | { key: string; label: string; types: (4 | 5 | 6 | 7 | 8 | 13)[]; } | { key: string; label: string; types: (9 | 10 | 11)[]; } | { key: string; label: string; types: (12 | 14 | 18)[]; } | { key: string; label: string; types: (15 | 20 | 21)[]; })[]; export declare const getFamilyKey: (fieldTypeId: any) => any; // ======================================================================= // Top-level dispatch // ======================================================================= export declare const getQuestionInsight: (section: any, question: any, submissions: any) => { kind: string; viz: string; answered: number; skipped: number; } | { kind: string; viz: string; reason: string; }; //# sourceMappingURL=questionInsights.d.ts.map