type ClassName<K extends string> = false | K | null | (string & {}) | undefined;
type ClassNameArg<K extends string> = ClassName<K> | ClassName<K>[] | {
    [key: string]: boolean | null | undefined;
} | {
    [P in K]?: boolean | null | undefined;
};
type CSSModule = Record<string, string>;
/**
 * A utility function to create a classNames function with a specific CSS module.
 * @param module The CSS module to use for class name resolution.
 * @returns A function that takes class names and returns the resolved class names.
 */
export declare function classNames(): (...args: ClassNameArg<string>[]) => string;
export declare function classNames<C extends CSSModule>(module: C): (...args: ClassNameArg<keyof C & string>[]) => string;
export {};
