import type { TypeImageProps } from './type';
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    imageRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleLoadImage: () => void;
    classPrefix: import("@vue/composition-api").Ref<string>;
    hasMouseEvent: boolean;
    handleToggleOverlay: () => void;
    shouldShowOverlay: import("@vue/composition-api").Ref<boolean>;
    hasError: import("@vue/composition-api").Ref<boolean>;
    shouldLoad: import("@vue/composition-api").Ref<boolean>;
    handleError: () => void;
    handleLoad: () => void;
    isLoaded: import("@vue/composition-api").Ref<boolean>;
    rest: Partial<TypeImageProps>;
    renderLNodeJSX: (name: string, options?: import("../../hooks/render-lnode").OptionsType) => any;
}> & import("@vue/composition-api").Data, {
    renderPlaceholder(): JSX.Element;
    renderGalleryShadow(): JSX.Element;
    renderOverlay(): JSX.Element;
    renderError(): any;
}, {}, {
    alt: {
        type: StringConstructor;
        default: string;
    };
    disabled: BooleanConstructor;
    error: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fit: {
        type: import("vue").PropType<"fill" | "none" | "cover" | "contain" | "scale-down">;
        default: "fill" | "none" | "cover" | "contain" | "scale-down";
        validator(val: "fill" | "none" | "cover" | "contain" | "scale-down"): boolean;
    };
    gallery: BooleanConstructor;
    lazy: BooleanConstructor;
    loading: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    overlayContent: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    overlayTrigger: {
        type: import("vue").PropType<"hover" | "always">;
        default: "hover" | "always";
        validator(val: "hover" | "always"): boolean;
    };
    placeholder: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    position: {
        type: StringConstructor;
        default: string;
    };
    shape: {
        type: import("vue").PropType<"circle" | "square" | "round">;
        default: "circle" | "square" | "round";
        validator(val: "circle" | "square" | "round"): boolean;
    };
    src: {
        type: StringConstructor;
        default: string;
    };
    onError: import("vue").PropType<() => void>;
    onLoad: import("vue").PropType<() => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
    alt: {
        type: StringConstructor;
        default: string;
    };
    disabled: BooleanConstructor;
    error: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fit: {
        type: import("vue").PropType<"fill" | "none" | "cover" | "contain" | "scale-down">;
        default: "fill" | "none" | "cover" | "contain" | "scale-down";
        validator(val: "fill" | "none" | "cover" | "contain" | "scale-down"): boolean;
    };
    gallery: BooleanConstructor;
    lazy: BooleanConstructor;
    loading: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    overlayContent: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    overlayTrigger: {
        type: import("vue").PropType<"hover" | "always">;
        default: "hover" | "always";
        validator(val: "hover" | "always"): boolean;
    };
    placeholder: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    position: {
        type: StringConstructor;
        default: string;
    };
    shape: {
        type: import("vue").PropType<"circle" | "square" | "round">;
        default: "circle" | "square" | "round";
        validator(val: "circle" | "square" | "round"): boolean;
    };
    src: {
        type: StringConstructor;
        default: string;
    };
    onError: import("vue").PropType<() => void>;
    onLoad: import("vue").PropType<() => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    lazy: boolean;
    disabled: boolean;
    shape: "circle" | "square" | "round";
    position: string;
    alt: string;
    src: string;
    fit: "fill" | "none" | "cover" | "contain" | "scale-down";
    overlayTrigger: "hover" | "always";
    gallery: boolean;
} & {
    error?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    placeholder?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onError?: () => void;
    onLoad?: () => void;
    overlayContent?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    imageRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleLoadImage: () => void;
    classPrefix: import("@vue/composition-api").Ref<string>;
    hasMouseEvent: boolean;
    handleToggleOverlay: () => void;
    shouldShowOverlay: import("@vue/composition-api").Ref<boolean>;
    hasError: import("@vue/composition-api").Ref<boolean>;
    shouldLoad: import("@vue/composition-api").Ref<boolean>;
    handleError: () => void;
    handleLoad: () => void;
    isLoaded: import("@vue/composition-api").Ref<boolean>;
    rest: Partial<TypeImageProps>;
    renderLNodeJSX: (name: string, options?: import("../../hooks/render-lnode").OptionsType) => any;
}>, import("@vue/composition-api").Data, {}, {
    renderPlaceholder(): JSX.Element;
    renderGalleryShadow(): JSX.Element;
    renderOverlay(): JSX.Element;
    renderError(): any;
}, {}, {}, {}, {
    lazy: boolean;
    disabled: boolean;
    shape: "circle" | "square" | "round";
    position: string;
    alt: string;
    src: string;
    fit: "fill" | "none" | "cover" | "contain" | "scale-down";
    overlayTrigger: "hover" | "always";
    gallery: boolean;
} & {
    error?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    placeholder?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onError?: () => void;
    onLoad?: () => void;
    overlayContent?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
}, {
    lazy: boolean;
    disabled: boolean;
    shape: "circle" | "square" | "round";
    position: string;
    alt: string;
    src: string;
    fit: "fill" | "none" | "cover" | "contain" | "scale-down";
    overlayTrigger: "hover" | "always";
    gallery: boolean;
}, true>);
export default _default;
