import clsx, { ClassValue } from 'clsx'; export { ClassValue } from 'clsx'; export { VariantProps } from 'class-variance-authority'; type ClassProp = { class?: ClassValue; className?: ClassValue; }; type StringToBoolean = T extends 'true' | 'false' ? boolean : T; /** * Перевод значения в пикселях в rem строковое */ declare const toRem: (px: number, remValue?: number) => string; /** * classNames/clsx но с примесями tailwind-merge */ declare const cx: (...args: Parameters) => string; type ConfigSchema = Record>; type ConfigVariants = { [Variant in keyof T]?: StringToBoolean | null | undefined; }; type ConfigVariantsMulti = { [Variant in keyof T]?: StringToBoolean | StringToBoolean[] | undefined; }; type Config = T extends ConfigSchema ? { variants?: T; defaultVariants?: ConfigVariants; compoundVariants?: (T extends ConfigSchema ? (ConfigVariants | ConfigVariantsMulti) & ClassProp : ClassProp)[]; } : never; type Props = T extends ConfigSchema ? ConfigVariants & ClassProp : ClassProp; /** * Class Variance Authority но с примесями tailwind-merge * * https://cva.style/docs */ declare const cva: (base?: ClassValue, config?: Config) => (props?: Props) => string; /** * Load CSS file by providing `url`. * * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one. */ declare const loadCssFile: (url: string, attrubutes?: Record) => Promise; export { cva, cx, loadCssFile, toRem };