import { ClassValue } from 'tailwind-variants'; /** * This Typescript utility transform a list of slots into a list of {slot: classes} */ type SlotsToClasses = { [key in S]?: ClassValue; }; /** * * Type for components that can be unstyled. */ type UnstyledProps = { unstyled?: boolean; }; /** * Type for components that support unstyled functionality and slot-specific classes. */ type UnstyledComponentWithSlots = UnstyledProps & { classNames?: SlotsToClasses; }; export type { SlotsToClasses, UnstyledComponentWithSlots, UnstyledProps };