import React, { DetailedHTMLProps } from 'react'; export type IconSize = { size: '16' | '20' | '24' | '32' | '40'; }; type IconSize1 = { size: '16'; }; type IconSize2 = { size?: '20'; }; type IconSize3 = { size: '24'; }; type IconSize4 = { size: '32'; }; type IconSize5 = { size: '40'; }; type IconSizeAll = IconSize1 | IconSize2 | IconSize3 | IconSize4 | IconSize5; export interface IconProps extends DetailedHTMLProps, HTMLSpanElement> { svg: React.ReactElement; spin?: boolean; rotate?: number; type?: string; } type IconProps2 = IconProps & IconSizeAll; declare const Icon: React.ForwardRefExoticComponent<(Omit | Omit | Omit | Omit | Omit) & React.RefAttributes>; type SvgFn1 = (props: React.SVGProps & IconSize1) => JSX.Element; type SvgFn2 = (props: React.SVGProps & IconSize2) => JSX.Element; type SvgFn3 = (props: React.SVGProps & IconSize3) => JSX.Element; type SvgFn4 = (props: React.SVGProps & IconSize4) => JSX.Element; type SvgFn5 = (props: React.SVGProps & IconSize5) => JSX.Element; type SvgFn = SvgFn1 | SvgFn2 | SvgFn3 | SvgFn4 | SvgFn5; declare const convertIcon: (Svg: SvgFn, iconType: string) => React.ForwardRefExoticComponent & TSize> & React.RefAttributes>; export { convertIcon }; export default Icon;