import { default as React } from 'react';
import { FormOnColor, IconSize } from '../../constants';
import { StatusDotOnColor } from '../StatusDot';
export type SvgIcon = React.FC<SvgPathProps>;
export interface BaseIconProps {
    ariaLabel?: string;
    size?: number;
    color?: string;
    hoverColor?: string;
    className?: string;
    isHovered?: boolean;
    /** Defines the color of the icon */
    onColor?: keyof typeof FormOnColor | StatusDotOnColor;
    /** Sets the data-testid attribute. */
    testId?: string;
    /** Ref that is passed to the component */
    ref?: React.Ref<SVGSVGElement>;
}
export interface IconProps extends BaseIconProps {
    svgIcon: SvgIcon;
}
export interface SvgPathProps {
    size: IconSize;
    isHovered: boolean;
    onColor?: keyof typeof FormOnColor | StatusDotOnColor;
}
export interface IconConfig {
    size: IconSize;
    isHovered: boolean;
    normal: React.ReactElement;
    normalHover: React.ReactElement;
    xSmall?: React.ReactElement;
    xSmallHover?: React.ReactElement;
    xxSmall?: React.ReactElement;
    xxSmallHover?: React.ReactElement;
}
export declare const Icon: React.FC<IconProps>;
export default Icon;
