import type { ComponentType, ForwardRefExoticComponent } from 'react'; import type { NoChildrenProp, WithAttributes } from '../../types'; type BaseIconProps = NoChildrenProp & { /** * The name of the icon set. * @default theme.base['icon-set'] */ set?: string; /** The name indicating the Cosmos Icon. Reference the catalog above for the available names. */ name: string; /** * Background & svg size. * @default "s" without background, "m" with background. */ size?: 's' | 'm' | 'l' | 'font-size'; }; export type IconProps = WithAttributes<'div', BaseIconProps & { /** Background color. */ background: string; /** * Foreground color (svg fill). * Applies readable color off background if undefined. */ foreground?: string; /** * Shape of the background. * @default 'square' */ shape?: 'square' | 'circle'; }> | WithAttributes<'svg', BaseIconProps & { background?: never; foreground?: never; shape?: never; }>; export interface IconDefinition { Component: ComponentType; viewBox?: string; } export interface IconModule extends IconDefinition { set?: IconProps['set']; name: IconProps['name']; } export declare const registerIcon: (...icons: IconModule[]) => void; export declare const forceRegisterIcon: (...icons: IconModule[]) => void; export declare const StyledIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute, { size?: IconProps["size"]; }>> & string; export declare const StyledIconShape: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute, HTMLDivElement>, { background: NonNullable; foreground?: IconProps["foreground"]; size?: IconProps["size"]; shape?: IconProps["shape"]; }>> & string; declare const Icon: ForwardRefExoticComponent; export default Icon; //# sourceMappingURL=Icon.d.ts.map