export {} declare global { type SystemsReviewCategory = | 'cardiac' | 'cns' | 'developmental' | 'endocrine' | 'gastro' | 'general' | 'gyn' | 'habits' | 'hematologic' | 'hepatic' | 'muscular' | 'oncology' | 'psychiatric' | 'pulmonary' | 'renal' type SystemsReviewRaw = Partial< { [key in SystemsReviewCategory]: { hasEntries?: boolean entries?: { editing: boolean details?: { [index: number]: { name: string value: string path: string label: string } } }[] } } > interface EntryDetails { name: string valueDescription: string path: string value: string } interface ProcessedEntryBase { editing: boolean } type ProcessedEntry = ProcessedEntryBase & { [key: string]: EntryDetails | boolean // Allows `editing` to be boolean and other properties to be `EntryDetails` } type SystemsReviewProcessed = { [key in SystemsReviewCategory]: ProcessedEntry[] | null } type SystemsReviewByCategoryResult = Partial< { [key in SystemsReviewCategory]: { editing: boolean details?: { [index: number]: { name: string value: string path: string label: string } } }[] } > type SystemsReviewCategorySummary = Partial< { [key in SystemsReviewCategory]: { name: string label: string summaries: string[] } } > type SystemsReviewSummary = [systemName: string, rows: string[]][] }