import * as React from "react"; import classNames from 'classnames'; import { ExtensibleFunction } from './extensibleFunction'; export type ClassNamesParam = Parameters[0]; /** * API-enhancing wrapper class for CSS Module classname maps */ export declare class StyleSheet extends ExtensibleFunction<[ClassNamesParam, ClassNamesParam?], string> { constructor(styles: any); private readonly styles; /** Creates a simple React Component for the given style classes */ element(classes: ClassNamesParam, type?: string, globalClass?: ClassNamesParam): React.HTMLFactory; /** * Generate a CSS class string (including both local class-name and global class-name - eg "separated boMS4sbCae8GgTcsACMg") using the given local class-name. * * As a shortcut, the StyleSheet instance itself can be called as a function with the same parameters - eg `styles('separated')` instead of `styles.class('separated')`. * * Accepts any parameters that the `classnames` package accepts. */ class(classes: ClassNamesParam, globalClass?: ClassNamesParam): string; } /** * Wraps a map of local to global style names (generated by CSS Modules) in a more useful API. * Same as calling `new StyleSheet(style_map)`. */ export declare function styleSheet(...args: ConstructorParameters): StyleSheet; export declare function extendHTMLElement(classes: string | string[], Element?: string): React.HTMLFactory; export declare function styledElement(styles: any, classes: ClassNamesParam, { type, globals, }?: { type?: string; globals?: ClassNamesParam; }): React.HTMLFactory; export declare function moduleClassNames(styles: any, doubleNames: ClassNamesParam, extraNames?: ClassNamesParam): string; export declare const mClassNames: typeof moduleClassNames;