import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Icon from './icon';
declare const Icon: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        type: StringConstructor;
        size: (StringConstructor | NumberConstructor)[];
        rotate: NumberConstructor;
        spin: BooleanConstructor;
    }>> & Readonly<{}>, {
        cls: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        } | undefined)[]>;
        innerStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        spin: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        type: StringConstructor;
        size: (StringConstructor | NumberConstructor)[];
        rotate: NumberConstructor;
        spin: BooleanConstructor;
    }>> & Readonly<{}>, {
        cls: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        } | undefined)[]>;
        innerStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
    }, {}, {}, {}, {
        spin: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    type: StringConstructor;
    size: (StringConstructor | NumberConstructor)[];
    rotate: NumberConstructor;
    spin: BooleanConstructor;
}>> & Readonly<{}>, {
    cls: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    } | undefined)[]>;
    innerStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    spin: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    addFromIconFontCn: (options: import("./add-from-icon-font-cn").IconFontOptions) => import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        type: StringConstructor;
        size: (StringConstructor | NumberConstructor)[];
        rotate: NumberConstructor;
        spin: BooleanConstructor;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        type: StringConstructor;
        size: (StringConstructor | NumberConstructor)[];
        rotate: NumberConstructor;
        spin: BooleanConstructor;
    }>> & Readonly<{}>, {
        spin: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type IconInstance = InstanceType<typeof _Icon>;
export declare type IconProps = IconInstance['$props'];
export default Icon;
