import { HTMLAttributes, ReactNode } from 'react';
import { IconSizeType, IconType } from '../../system/ThemeProvider/lib/types';
export type PropsWithIcon = {
    icon: IconType;
    children?: never;
};
export type PropsWithChild = {
    icon?: never;
    children: ReactNode;
};
export type IconSizeProps = {
    size?: IconSizeType;
    containerSize?: IconSizeType;
};
export type IconProps = HTMLAttributes<HTMLDivElement> & (PropsWithIcon | PropsWithChild) & IconSizeProps & {
    'data-testid'?: string;
};
export declare const Icon: import("styled-components").StyledComponent<({ icon, children, size, containerSize, "data-testid": dataTestId, ...props }: IconProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
