import { 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>;
}> & import("@vue/composition-api").Data, {
    renderPlaceholder(): any;
    renderGalleryShadow(): any;
    renderOverlay(): 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" | "contain" | "cover" | "scale-down">;
        default: "fill" | "none" | "contain" | "cover" | "scale-down";
        validator(val: "fill" | "none" | "contain" | "cover" | "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<"always" | "hover">;
        default: "always" | "hover";
        validator(val: "always" | "hover"): 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<"square" | "round" | "circle">;
        default: "square" | "round" | "circle";
        validator(val: "square" | "round" | "circle"): boolean;
    };
    src: {
        type: StringConstructor;
        default: string;
    };
    onError: import("vue").PropType<() => void>;
    onLoad: import("vue").PropType<() => void>;
}, {
    position: string;
    lazy: boolean;
    disabled: boolean;
    shape: "square" | "round" | "circle";
    alt: string;
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    gallery: boolean;
    src: string;
} & {
    error?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    placeholder?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onError?: () => void;
    onLoad?: () => void;
    overlayContent?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
}> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    position: string;
    lazy: boolean;
    disabled: boolean;
    shape: "square" | "round" | "circle";
    alt: string;
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    gallery: boolean;
    src: string;
} & {
    error?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    placeholder?: 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>;
}>, import("@vue/composition-api").Data, {}, {
    renderPlaceholder(): any;
    renderGalleryShadow(): any;
    renderOverlay(): any;
}, {}, {}, {}, {
    position: string;
    lazy: boolean;
    disabled: boolean;
    shape: "square" | "round" | "circle";
    alt: string;
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    gallery: boolean;
    src: string;
} & {
    error?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    placeholder?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onError?: () => void;
    onLoad?: () => void;
    overlayContent?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
}, {
    position: string;
    lazy: boolean;
    disabled: boolean;
    shape: "square" | "round" | "circle";
    alt: string;
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    gallery: boolean;
    src: string;
}, true>);
export default _default;
