type Position = 'prepend' | 'append'; type Size = 'small'; type ModifierCombination = [Position, Size?] | [Size, Position?]; type FormElementGroupModifierConfig = { 'c-form-element-group': ModifierCombination; }; export type FormElementGroupModifier = { [P in keyof FormElementGroupModifierConfig]: { prefix: P; modifiers: FormElementGroupModifierConfig[P]; }; }[keyof FormElementGroupModifierConfig]; /** * Represents the possible types for modifier items in an FormElementGroup configuration. * It can either be an array of `FormElementGroupModifier` or a single `ModifierCombination` for shorthand usage. */ export type ModifierItems = FormElementGroupModifier[] | ModifierCombination; export {};