import { default as React } from 'react'; import { ThemeProvider } from '../../theme/src/index.tsx'; export interface IconStyle { className?: string; style?: Record; } export interface IconElement extends IconStyle { collection: IconCollection; name: string; [key: string]: any; } export interface IconComposed extends IconStyle { elements: IconElement[]; } export interface IconCollection { setup(element: IconElement): any; draw(element: IconElement, theme: ThemeProvider): React.ReactElement; } export declare enum IconSize { xs = "0.8em", sm = "1.0em", md = "1.5em", lg = "2.0em" } export type IconProps = { name: string; size?: keyof typeof IconSize | string; inverse?: boolean; title?: string; className?: string; style?: React.CSSProperties; onClick?: (evt: any) => void; }; export declare function registerIconCollection(namespace: string, collection: IconCollection): void; export declare function getIconName(icon: string, name: string): string; export declare function Icon(props: IconProps): React.ReactElement;