import { IconEmits, IconProps } from './icon';
import { SetupContext } from 'vue';
export declare function useIcon(props: IconProps, emit: SetupContext<IconEmits>['emit']): {
    Icon: import('vue').ComputedRef<import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }>>;
};
export declare const Icon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    type: {
        readonly type: import('vue').PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    twoToneColor: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('./icon').IconTwoToneColor>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    spin: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<boolean>, unknown, unknown, false, boolean>;
    rotate: {
        readonly type: import('vue').PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    type: {
        readonly type: import('vue').PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    twoToneColor: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('./icon').IconTwoToneColor>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    spin: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<boolean>, unknown, unknown, false, boolean>;
    rotate: {
        readonly type: import('vue').PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>> & Readonly<{}>, {
    spin: import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<boolean>, unknown, unknown>;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
