import { INativewindBaseProps } from '../types'; import { type ClassValue } from 'clsx'; /** * A function that takes in any number of class names and returns a single class name string * that can be used in a React component's className prop. This function is useful for * conditionally applying class names, as it will only include the class names that are * truthy. * * @param {...ClassValue} inputs - Any number of class names to be merged * @returns {string} A single class name string that can be used in a React component's * className prop * * @example * import { cn } from '@resk/nativewind' import { StyleSheet } from 'react-native'; * * const MyComponent = ({ isDisabled }) => { * return ( *
* My Component *
* ) * } */ export declare function cn(...inputs: ClassValue[]): string; /** * Normalizes component props by merging and formatting the className property. * * This utility function accepts an object of props that extend the INativewindBaseProps * interface and returns a new object with all original props, but with the className * property processed to ensure a consistent format. The className is merged using * the `cn` function to handle conditional classNames. * * @template T - The type extending INativewindBaseProps, defaulting to any. * * @param {T} props - The component props including an optional className. * @param {T} [defaultProps] - An optional object of default props to use if the input props are undefined. * @returns {Omit & { className: string }} - A new props object with * a normalized className string. * * @example * const props = { className: "text-lg", disabled: true }; * const normalizedProps = normalizeProps(props); * // normalizedProps.className will be a string formatted by `cn` function */ export declare function normalizeProps({ className, ...props }: T, defaultProps?: T): Omit & { className: string; };