type Color = 'light-grey'; type TextDecorations = 'bullets'; type ModifierCombination = [Color, TextDecorations?] | [TextDecorations, Color?]; type ListModifierConfig = { 'c-list': ModifierCombination; }; export type ListModifier = { [P in keyof ListModifierConfig]: { prefix: P; modifiers: ListModifierConfig[P]; }; }[keyof ListModifierConfig]; /** * Represents the possible types for modifier items in an List configuration. * It can either be an array of `ListModifier` or a single `ModifierCombination` for shorthand usage. */ export type ModifierItems = ListModifier[] | ModifierCombination; export {};