import { App, PropType } from 'vue';
import { Props, Options, setOptions, Icon, IconData } from '@yzfe/svgicon';
declare const VueSvgIcon: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {} & {
            data?: Icon;
            width?: string | number;
            height?: string | number;
            scale?: string | number;
            dir?: string;
            color?: string | string[];
            stopColors?: string[];
            title?: string;
            fill?: boolean;
            original?: boolean;
            replace?: (svgInnerContent: string) => string;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: Record<string, unknown>;
        $refs: Record<string, unknown>;
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, string>>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, string>>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<{} & {
            data?: Icon;
            width?: string | number;
            height?: string | number;
            scale?: string | number;
            dir?: string;
            color?: string | string[];
            stopColors?: string[];
            title?: string;
            fill?: boolean;
            original?: boolean;
            replace?: (svgInnerContent: string) => string;
        }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string>;
        $forceUpdate: import("vue").ReactiveEffect<any>;
        $nextTick: typeof import("vue").nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & {} & {
        data?: Icon;
        width?: string | number;
        height?: string | number;
        scale?: string | number;
        dir?: string;
        color?: string | string[];
        stopColors?: string[];
        title?: string;
        fill?: boolean;
        original?: boolean;
        replace?: (svgInnerContent: string) => string;
    } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & Readonly<{
        fill: boolean;
        original: boolean;
    } & {
        data?: Icon;
        width?: string | number;
        height?: string | number;
        scale?: string | number;
        dir?: string;
        color?: string | string[];
        stopColors?: string[];
        title?: string;
        replace?: (svgInnerContent: string) => string;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<{
    fill: boolean;
    original: boolean;
} & {
    data?: Icon;
    width?: string | number;
    height?: string | number;
    scale?: string | number;
    dir?: string;
    color?: string | string[];
    stopColors?: string[];
    title?: string;
    replace?: (svgInnerContent: string) => string;
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string> & {
    props: {
        /** icon data */
        data: {
            type: PropType<Icon>;
        };
        width: {
            type: (StringConstructor | NumberConstructor)[];
        };
        height: {
            type: (StringConstructor | NumberConstructor)[];
        };
        scale: {
            type: (StringConstructor | NumberConstructor)[];
        };
        dir: {
            type: StringConstructor;
        };
        color: {
            type: PropType<string | string[]>;
        };
        stopColors: {
            type: PropType<string[]>;
        };
        title: {
            type: StringConstructor;
        };
        fill: {
            type: BooleanConstructor;
            default: boolean;
        };
        original: {
            type: BooleanConstructor;
            default: boolean;
        };
        replace: {
            type: PropType<(svgInnerContent: string) => string>;
        };
    } & ThisType<void>;
} & ThisType<import("vue").ComponentPublicInstance<Readonly<{
    fill: boolean;
    original: boolean;
} & {
    data?: Icon;
    width?: string | number;
    height?: string | number;
    scale?: string | number;
    dir?: string;
    color?: string | string[];
    stopColors?: string[];
    title?: string;
    replace?: (svgInnerContent: string) => string;
}>, {}, {}, {}, {}, Record<string, any>, Readonly<{
    fill: boolean;
    original: boolean;
} & {
    data?: Icon;
    width?: string | number;
    height?: string | number;
    scale?: string | number;
    dir?: string;
    color?: string | string[];
    stopColors?: string[];
    title?: string;
    replace?: (svgInnerContent: string) => string;
}>, import("vue").ComponentOptionsBase<Readonly<{
    fill: boolean;
    original: boolean;
} & {
    data?: Icon;
    width?: string | number;
    height?: string | number;
    scale?: string | number;
    dir?: string;
    color?: string | string[];
    stopColors?: string[];
    title?: string;
    replace?: (svgInnerContent: string) => string;
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string>>>;
declare const VueSvgIconPlugin: {
    install: (app: App, options: {
        tagName: string;
    }) => void;
};
export { VueSvgIcon, VueSvgIconPlugin, setOptions, Props, Options, Icon, IconData, };
