import { cnMerge } from 'tailwind-variants';
/**
 * Unity-configured class name utility function for merging CSS classes.
 *
 * This is a pre-configured version of tailwind-variants' `cn` function that includes
 * Unity's custom tailwind-merge configuration. It automatically handles Unity's custom
 * class names and resolves conflicts according to Unity design system rules.
 * @param classes - CSS class names to merge
 * @returns Merged and deduplicated class string
 * @example
 * ```tsx
 * import { cn } from '@payfit/unity-themes'
 *
 * // Basic usage
 * const className = cn('uy:p-200', 'uy:bg-surface-primary-default')
 * // → 'uy:p-200 uy:bg-surface-primary-default'
 *
 * // Conflict resolution - last class wins
 * const className = cn('uy:bg-surface-primary-default', 'uy:bg-surface-danger-default')
 * // → 'uy:bg-surface-danger-default'
 *
 * // Conditional classes
 * const className = cn(
 *   'uy:px-200 uy:py-100',
 *   isActive && 'uy:bg-surface-primary-default',
 *   isDisabled && 'uy:bg-surface-neutral-disabled'
 * )
 *
 * // With component props
 * function Button({ variant, size, className: extraClasses, ...props }) {
 *   return (
 *     <button
 *       className={cn(
 *         'uy:px-200 uy:py-100 uy:rounded-100', // base styles
 *         variant === 'primary' && 'uy:bg-surface-primary-default',
 *         variant === 'secondary' && 'uy:bg-surface-neutral-default',
 *         size === 'large' && 'uy:px-300 uy:py-150',
 *         extraClasses // allow override
 *       )}
 *       {...props}
 *     />
 *   )
 * }
 * ```
 * @description
 * - Automatically merges conflicting Unity classes using Unity's design system rules
 * - Supports all Unity design tokens: semantic colors, primitive colors, spacing, typography, etc.
 * - Handles conditional classes (falsy values are ignored)
 * - Compatible with standard Tailwind classes alongside Unity classes
 * - Removes duplicate classes and resolves conflicts intelligently
 * @see {@link uyMerge} for the underlying merge function
 * @see {@link twMergeConfig} for the Unity merge configuration details
 */
export declare const cn: (...params: Parameters<typeof cnMerge>) => import('tailwind-variants').CnReturn;
/**
 * Alias for {@link cn} - Unity-configured class name utility function.
 *
 * This function is identical to `cn` but provides a more descriptive name
 * for developers who prefer explicit naming conventions.
 * @param classes - CSS class names to merge
 * @returns Merged and deduplicated class string
 * @example
 * ```tsx
 * import { classNames } from '@payfit/unity-themes'
 *
 * const buttonClasses = classNames(
 *   'uy:px-200 uy:py-100',
 *   'uy:bg-surface-primary-default',
 *   'uy:text-content-inverted-default'
 * )
 * ```
 * @see {@link cn} for detailed documentation and examples
 */
export declare const classNames: (...params: Parameters<typeof cnMerge>) => import('tailwind-variants').CnReturn;
/**
 * Alias for {@link cn} - Unity-configured class name utility function.
 *
 * This function is identical to `cn` but follows the naming convention
 * popularized by the `clsx` library for developers familiar with that API.
 * @param classes - CSS class names to merge
 * @returns Merged and deduplicated class string
 * @example
 * ```tsx
 * import { clsx } from '@payfit/unity-themes'
 *
 * const cardClasses = clsx(
 *   'uy:p-300 uy:rounded-200',
 *   'uy:bg-surface-neutral-default',
 *   isHighlighted && 'uy:border-border-primary-default'
 * )
 * ```
 * @see {@link cn} for detailed documentation and examples
 */
export declare const clsx: (...params: Parameters<typeof cnMerge>) => import('tailwind-variants').CnReturn;
