import { PropType } from '@vue/composition-api';
import { ImageInfo } from '../type';
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    renderJSX: (name: string, options?: import("../../hooks/render-tnode").OptionsType) => any;
    style: import("@vue/composition-api").ComputedRef<{
        minWidth: number;
        minHeight: number;
    }>;
}> & import("@vue/composition-api").Data, {}, {}, {
    zIndex: NumberConstructor;
    visible: BooleanConstructor;
    index: NumberConstructor;
    images: {
        type: import("vue").PropType<(string | File | ImageInfo)[]>;
        default: () => (string | File | ImageInfo)[];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    rotateHandler: PropType<() => void>;
    zoomInHandler: PropType<() => void>;
    zoomOutHandler: PropType<() => void>;
    mirrorHandler: PropType<() => void>;
    downloadHandler: PropType<(url: string) => void>;
    resetHandler: PropType<() => void>;
    closeHandler: import("vue").PropType<(context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    viewerScale: {
        type: PropType<import("../type").ImageViewerScale>;
        default(): {};
    };
    showOverlay: BooleanConstructor;
    closeBtn: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    imageReferrerpolicy: {
        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;
    };
    title: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
}, import("@vue/composition-api").ExtractPropTypes<{
    zIndex: NumberConstructor;
    visible: BooleanConstructor;
    index: NumberConstructor;
    images: {
        type: import("vue").PropType<(string | File | ImageInfo)[]>;
        default: () => (string | File | ImageInfo)[];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    rotateHandler: PropType<() => void>;
    zoomInHandler: PropType<() => void>;
    zoomOutHandler: PropType<() => void>;
    mirrorHandler: PropType<() => void>;
    downloadHandler: PropType<(url: string) => void>;
    resetHandler: PropType<() => void>;
    closeHandler: import("vue").PropType<(context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    viewerScale: {
        type: PropType<import("../type").ImageViewerScale>;
        default(): {};
    };
    showOverlay: BooleanConstructor;
    closeBtn: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    imageReferrerpolicy: {
        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;
    };
    title: PropType<string | ((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<{
    visible: boolean;
    draggable: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
} & {
    index?: number;
    rotate?: number;
    scale?: number;
    zIndex?: number;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    resetHandler?: () => void;
    imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    rotateHandler?: () => void;
    zoomInHandler?: () => void;
    zoomOutHandler?: () => void;
    mirrorHandler?: () => void;
    downloadHandler?: (url: string) => void;
    mirror?: number;
    closeHandler?: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    renderJSX: (name: string, options?: import("../../hooks/render-tnode").OptionsType) => any;
    style: import("@vue/composition-api").ComputedRef<{
        minWidth: number;
        minHeight: number;
    }>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    visible: boolean;
    draggable: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
} & {
    index?: number;
    rotate?: number;
    scale?: number;
    zIndex?: number;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    resetHandler?: () => void;
    imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    rotateHandler?: () => void;
    zoomInHandler?: () => void;
    zoomOutHandler?: () => void;
    mirrorHandler?: () => void;
    downloadHandler?: (url: string) => void;
    mirror?: number;
    closeHandler?: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
}, {
    visible: boolean;
    draggable: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
}, true>);
export default _default;
