import { ThemeObject } from "../../style/themes/theme.types";
import { IconType } from "./icon-type";
export type BackgroundShape = "circle" | "rounded-rect" | "square";
export type BgSize = "small" | "medium" | "large" | "extra-large";
export type FontSize = "small" | "medium" | "large" | "extra-large";
export interface StyledIconProps {
    /** Background colour, provide any color from palette or any valid css color value. */
    bg?: string;
    /** Background shape */
    bgShape?: BackgroundShape;
    /** Background size */
    bgSize?: BgSize;
    /**
     * @private
     * @ignore
     * Add classes to this component
     */
    className?: string;
    /** Icon colour, provide any color from palette or any valid css color value. */
    color?: string;
    /** Sets the icon in the disabled state */
    disabled?: boolean;
    /** Icon font size */
    fontSize?: FontSize;
    /**
     * Icon type
     *
     * The full list of types can be seen [here](https://github.com/Sage/carbon/blob/master/src/components/icon/icon-config.js).
     */
    type: IconType;
}
export interface StyledIconInternalProps {
    isInteractive?: boolean;
    hasTooltip?: boolean;
    theme?: ThemeObject;
}
declare const StyledIcon: import("styled-components").StyledComponent<"span", any, {
    theme: object;
} & StyledIconProps & StyledIconInternalProps, "theme">;
export default StyledIcon;
