import { IconWrapperComponent, IconWrapperComponentSize16, IconWrapperComponentSize24, IconWrapperComponentSize32 } from '@hh.ru/magritte-ui-icon/types'; type IconGlyphComponent = React.ForwardRefExoticComponent & React.RefAttributes>; type SizedIconWrapperComponent = T extends `${string}Size16` ? IconWrapperComponentSize16 : T extends `${string}Size24` ? IconWrapperComponentSize24 : T extends `${string}Size32` ? IconWrapperComponentSize32 : IconWrapperComponent; type SizedSkeleton = T extends `${string}Size16` ? IconWrapperComponentSize16<{ loading?: boolean; }> : T extends `${string}Size24` ? IconWrapperComponentSize24<{ loading?: boolean; }> : T extends `${string}Size32` ? IconWrapperComponentSize32<{ loading?: boolean; }> : IconWrapperComponent<{ loading?: boolean; }>; type IconWithSkeleton = SizedIconWrapperComponent & { Skeleton: SizedSkeleton; }; declare const hoc: (IconGlyph: IconGlyphComponent, componentName: string) => IconWithSkeleton; export default hoc;