type Padding = 'padding'; type TextAlign = 'vertical-align-center'; type TextWidth = 'width-small'; type TextColor = 'color-white' | 'color-black'; type ModifierCombination = [TextColor, TextAlign?, TextWidth?, Padding?] | [TextAlign, TextColor?, TextWidth?, Padding?] | [TextWidth, TextColor?, TextAlign?, Padding?] | [Padding, TextColor?, TextAlign?, TextWidth?] | [TextColor, TextWidth, Padding?, TextAlign?] | [TextAlign, TextWidth, Padding?, TextColor?] | [TextWidth, TextAlign, Padding?, TextColor?] | [Padding, TextWidth, TextColor?, TextAlign?] | [TextColor, Padding, TextAlign?, TextWidth?] | [TextWidth, Padding, TextColor?, TextAlign?]; type TextModifierConfig = { 'c-text': ModifierCombination; }; export type TextModifierType = { [P in keyof TextModifierConfig]: { prefix: P; modifiers: TextModifierConfig[P]; }; }[keyof TextModifierConfig]; export type ModifierItems = TextModifierType[] | ModifierCombination; export {};