import PropTypes from 'prop-types'; import React, { ReactNode } from 'react'; export interface IconProps { /** * The color for the icon. * * Defaults to the current text color. */ color?: string; /** * String to use as the `aria-label` for the icon. Set to an empty string if you * are rendering the icon with visible text to prevent accessibility label * duplication. * * Defaults to the icon name e.g. `BusinessPersonIcon` --> "Business Person" */ assistiveText?: string; /** * Control the size of the icon. * * Defaults to "medium" --> 24px */ size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | ('xsmall' | 'small' | 'medium' | 'large' | 'xlarge')[]; /** * The icon SVG metadata copyright year text */ copyrightYear?: string; /** * Define Icon */ icon: string; /** * children prop */ children?: ReactNode; /** * The override API */ overrides?: { Icon?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; Svg?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; }; } export declare const Icon: { ({ color, size, assistiveText, icon, copyrightYear, children, overrides: componentOverrides, ...rest }: IconProps): JSX.Element; propTypes: { /** * String to use as the `aria-label` for the icon. Set to an empty string if you * are rendering the icon with visible text to prevent accessibility label * duplication. * * Defaults to the icon name e.g. `BusinessPersonIcon` --> "Business Person" */ assistiveText: PropTypes.Requireable; /** * children prop */ children: PropTypes.Requireable; /** * The color for the icon. * * Defaults to the current text color. */ color: PropTypes.Requireable; /** * The icon SVG metadata copyright year text */ copyrightYear: PropTypes.Requireable; /** * Define Icon */ icon: PropTypes.Validator; /** * The override API */ overrides: PropTypes.Requireable any>; component: PropTypes.Requireable; styles: PropTypes.Requireable<(...args: any[]) => any>; }>>; Svg: PropTypes.Requireable any>; component: PropTypes.Requireable; styles: PropTypes.Requireable<(...args: any[]) => any>; }>>; }>>; /** * Control the size of the icon. * * Defaults to "medium" --> 24px */ size: PropTypes.Requireable>; }; };