import { PropType } from 'vue';
import { AnyStringPropType } from '../../utils/types/prop-type';
import { VaIconName } from './types';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    name: {
        type: AnyStringPropType<VaIconName>;
        default: string;
    };
    tag: {
        type: StringConstructor;
    };
    component: {
        type: PropType<any>;
    };
    color: {
        type: StringConstructor;
    };
    rotation: {
        type: (StringConstructor | NumberConstructor)[];
    };
    spin: {
        type: (BooleanConstructor | StringConstructor)[];
    };
    flip: {
        type: PropType<"off" | "horizontal" | "vertical" | "both">;
        default: string;
        validator: (value: string) => boolean;
    };
    preset: {
        type: PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
        validator: (size: string | number) => boolean;
    };
    sizesConfig: {
        type: PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    fontSizesConfig: {
        type: PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    name: {
        type: AnyStringPropType<VaIconName>;
        default: string;
    };
    tag: {
        type: StringConstructor;
    };
    component: {
        type: PropType<any>;
    };
    color: {
        type: StringConstructor;
    };
    rotation: {
        type: (StringConstructor | NumberConstructor)[];
    };
    spin: {
        type: (BooleanConstructor | StringConstructor)[];
    };
    flip: {
        type: PropType<"off" | "horizontal" | "vertical" | "both">;
        default: string;
        validator: (value: string) => boolean;
    };
    preset: {
        type: PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
        validator: (size: string | number) => boolean;
    };
    sizesConfig: {
        type: PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    fontSizesConfig: {
        type: PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
}>>, {
    size: string | number;
    preset: import("../../composables").PresetPropValue;
    name: import("../../utils/types/prop-type").StringWithAutocomplete<VaIconName>;
    flip: "off" | "horizontal" | "vertical" | "both";
    sizesConfig: Record<string, any>;
    fontSizesConfig: Record<string, any>;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
