declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    imageRef: import("@vue/composition-api").Ref<HTMLElement>;
    imageClasses: import("@vue/composition-api").ComputedRef<string[]>;
    handleLoadImage: () => void;
    classPrefix: import("@vue/composition-api").Ref<string>;
    globalConfig: import("@vue/composition-api").ComputedRef<{} & (import("..").ImageConfig | {
        readonly errorText: "图片无法显示";
        readonly loadingText: "图片加载中";
    }) & import("..").ImageConfig>;
    hasMouseEvent: boolean;
    handleToggleOverlay: () => void;
    shouldShowOverlay: import("@vue/composition-api").Ref<boolean>;
    imageStrSrc: import("@vue/composition-api").Ref<string | {
        readonly lastModified: number;
        readonly name: string;
        readonly webkitRelativePath: string;
        readonly size: number;
        readonly type: string;
        arrayBuffer: () => Promise<ArrayBuffer>;
        slice: (start?: number, end?: number, contentType?: string) => Blob;
        stream: () => ReadableStream<Uint8Array>;
        text: () => Promise<string>;
    }>;
    previewUrl: import("@vue/composition-api").Ref<string>;
    hasError: import("@vue/composition-api").Ref<boolean>;
    shouldLoad: import("@vue/composition-api").Ref<boolean>;
    handleError: (e: Event) => void;
    handleLoad: (e: Event) => void;
    isLoaded: import("@vue/composition-api").Ref<boolean>;
    io: any;
    rest: Partial<Readonly<import("@vue/composition-api").ExtractPropTypes<{
        alt: {
            type: StringConstructor;
            default: string;
        };
        error: {
            type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        fallback: {
            type: StringConstructor;
            default: string;
        };
        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<string | ((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;
        };
        referrerpolicy: {
            type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
            validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
        };
        shape: {
            type: import("vue").PropType<"square" | "round" | "circle">;
            default: "square" | "round" | "circle";
            validator(val: "square" | "round" | "circle"): boolean;
        };
        src: {
            type: import("vue").PropType<string | File>;
        };
        srcset: {
            type: import("vue").PropType<import("./type").ImageSrcset>;
        };
        onError: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
        onLoad: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
    }>>>;
}> & import("@vue/composition-api").Data, {
    renderPlaceholder(): JSX.Element;
    renderGalleryShadow(): JSX.Element;
    renderOverlay(): JSX.Element;
    renderImageSrcset(): JSX.Element;
    renderImage(): JSX.Element;
}, {}, {
    alt: {
        type: StringConstructor;
        default: string;
    };
    error: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fallback: {
        type: StringConstructor;
        default: string;
    };
    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<string | ((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;
    };
    referrerpolicy: {
        type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
        validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
    };
    shape: {
        type: import("vue").PropType<"square" | "round" | "circle">;
        default: "square" | "round" | "circle";
        validator(val: "square" | "round" | "circle"): boolean;
    };
    src: {
        type: import("vue").PropType<string | File>;
    };
    srcset: {
        type: import("vue").PropType<import("./type").ImageSrcset>;
    };
    onError: import("vue").PropType<(context: {
        e: Event;
    }) => void>;
    onLoad: import("vue").PropType<(context: {
        e: Event;
    }) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
    alt: {
        type: StringConstructor;
        default: string;
    };
    error: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fallback: {
        type: StringConstructor;
        default: string;
    };
    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<string | ((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;
    };
    referrerpolicy: {
        type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
        validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
    };
    shape: {
        type: import("vue").PropType<"square" | "round" | "circle">;
        default: "square" | "round" | "circle";
        validator(val: "square" | "round" | "circle"): boolean;
    };
    src: {
        type: import("vue").PropType<string | File>;
    };
    srcset: {
        type: import("vue").PropType<import("./type").ImageSrcset>;
    };
    onError: import("vue").PropType<(context: {
        e: Event;
    }) => void>;
    onLoad: import("vue").PropType<(context: {
        e: Event;
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    position: string;
    lazy: boolean;
    shape: "square" | "round" | "circle";
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    alt: string;
    fallback: string;
    gallery: boolean;
} & {
    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);
    overlayContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    src?: string | File;
    srcset?: import("./type").ImageSrcset;
    onError?: (context: {
        e: Event;
    }) => void;
    onLoad?: (context: {
        e: Event;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    imageRef: import("@vue/composition-api").Ref<HTMLElement>;
    imageClasses: import("@vue/composition-api").ComputedRef<string[]>;
    handleLoadImage: () => void;
    classPrefix: import("@vue/composition-api").Ref<string>;
    globalConfig: import("@vue/composition-api").ComputedRef<{} & (import("..").ImageConfig | {
        readonly errorText: "图片无法显示";
        readonly loadingText: "图片加载中";
    }) & import("..").ImageConfig>;
    hasMouseEvent: boolean;
    handleToggleOverlay: () => void;
    shouldShowOverlay: import("@vue/composition-api").Ref<boolean>;
    imageStrSrc: import("@vue/composition-api").Ref<string | {
        readonly lastModified: number;
        readonly name: string;
        readonly webkitRelativePath: string;
        readonly size: number;
        readonly type: string;
        arrayBuffer: () => Promise<ArrayBuffer>;
        slice: (start?: number, end?: number, contentType?: string) => Blob;
        stream: () => ReadableStream<Uint8Array>;
        text: () => Promise<string>;
    }>;
    previewUrl: import("@vue/composition-api").Ref<string>;
    hasError: import("@vue/composition-api").Ref<boolean>;
    shouldLoad: import("@vue/composition-api").Ref<boolean>;
    handleError: (e: Event) => void;
    handleLoad: (e: Event) => void;
    isLoaded: import("@vue/composition-api").Ref<boolean>;
    io: any;
    rest: Partial<Readonly<import("@vue/composition-api").ExtractPropTypes<{
        alt: {
            type: StringConstructor;
            default: string;
        };
        error: {
            type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        fallback: {
            type: StringConstructor;
            default: string;
        };
        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<string | ((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;
        };
        referrerpolicy: {
            type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
            validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
        };
        shape: {
            type: import("vue").PropType<"square" | "round" | "circle">;
            default: "square" | "round" | "circle";
            validator(val: "square" | "round" | "circle"): boolean;
        };
        src: {
            type: import("vue").PropType<string | File>;
        };
        srcset: {
            type: import("vue").PropType<import("./type").ImageSrcset>;
        };
        onError: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
        onLoad: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
    }>>>;
}>, import("@vue/composition-api").Data, {}, {
    renderPlaceholder(): JSX.Element;
    renderGalleryShadow(): JSX.Element;
    renderOverlay(): JSX.Element;
    renderImageSrcset(): JSX.Element;
    renderImage(): JSX.Element;
}, {}, {}, {}, {
    position: string;
    lazy: boolean;
    shape: "square" | "round" | "circle";
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    alt: string;
    fallback: string;
    gallery: boolean;
} & {
    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);
    overlayContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    src?: string | File;
    srcset?: import("./type").ImageSrcset;
    onError?: (context: {
        e: Event;
    }) => void;
    onLoad?: (context: {
        e: Event;
    }) => void;
}, {
    position: string;
    lazy: boolean;
    shape: "square" | "round" | "circle";
    fit: "fill" | "none" | "contain" | "cover" | "scale-down";
    overlayTrigger: "always" | "hover";
    alt: string;
    fallback: string;
    gallery: boolean;
}, true>);
export default _default;
