declare const states: never[];
declare const options: {
    size: ("small" | "medium" | "large" | "xsmall" | "xlarge" | "xxlarge" | "xxxlarge")[];
    themeColor: ("base" | "error" | "success" | "dark" | "light" | "primary" | "secondary" | "tertiary" | "info" | "warning")[];
};
export type IconState = {
    [K in (typeof states)[number]]?: boolean;
};
export type IconOptions = {
    size?: (typeof options.size)[number];
    themeColor?: (typeof options.themeColor)[number];
};
export type IconProps = IconOptions & {
    icon?: string;
    type?: 'svg' | 'font';
    rotate?: null | '0' | '45' | '90' | '135' | '180' | '225' | '270' | '315';
    flip?: null | 'v' | 'h' | 'both';
    viewBox?: string;
};
export declare const Icon: {
    (props: IconProps & React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
    states: any[];
    options: {
        size: ("small" | "medium" | "large" | "xsmall" | "xlarge" | "xxlarge" | "xxxlarge")[];
        themeColor: ("base" | "error" | "success" | "dark" | "light" | "primary" | "secondary" | "tertiary" | "info" | "warning")[];
    };
    defaultOptions: {
        viewBox: string;
        type: string;
    };
};
export default Icon;
