declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    color: {
        type: StringConstructor;
        default: string;
    };
    textColor: {
        type: StringConstructor;
    };
    square: {
        type: BooleanConstructor;
        default: boolean;
    };
    fontSize: {
        type: StringConstructor;
        default: string;
    };
    src: {
        type: StringConstructor;
        default: null;
    };
    icon: {
        type: StringConstructor;
        default: string;
    };
    alt: {
        type: StringConstructor;
        default: string;
    };
    onFallback: {
        type: import("vue").PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fallbackSrc: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackText: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackIcon: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackRender: {
        type: import("vue").PropType<() => any>;
        required: true;
        default: (() => any) | undefined;
    };
    preset: {
        type: import("vue").PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
        validator: (size: string | number) => boolean;
    };
    sizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    fontSizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    hasLoadError: import("vue").Ref<boolean>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    error: (...args: any[]) => void;
    fallback: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    color: {
        type: StringConstructor;
        default: string;
    };
    textColor: {
        type: StringConstructor;
    };
    square: {
        type: BooleanConstructor;
        default: boolean;
    };
    fontSize: {
        type: StringConstructor;
        default: string;
    };
    src: {
        type: StringConstructor;
        default: null;
    };
    icon: {
        type: StringConstructor;
        default: string;
    };
    alt: {
        type: StringConstructor;
        default: string;
    };
    onFallback: {
        type: import("vue").PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    fallbackSrc: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackText: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackIcon: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    fallbackRender: {
        type: import("vue").PropType<() => any>;
        required: true;
        default: (() => any) | undefined;
    };
    preset: {
        type: import("vue").PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
        validator: (size: string | number) => boolean;
    };
    sizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    fontSizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onError?: ((...args: any[]) => any) | undefined;
    onFallback?: ((...args: any[]) => any) | undefined;
}, {
    size: string | number;
    preset: import("../../composables").PresetPropValue;
    color: string;
    icon: string;
    sizesConfig: Record<string, any>;
    fontSizesConfig: Record<string, any>;
    onFallback: (...args: any[]) => any;
    fallbackSrc: string;
    fallbackText: string;
    fallbackIcon: string;
    fallbackRender: () => any;
    loading: boolean;
    src: string;
    square: boolean;
    fontSize: string;
    alt: string;
}, {}>, {
    default?(_: {
        hasError: boolean;
        onError: (event: Event) => void;
    }): any;
    fallback?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
