import type { PropType } from '@vue/composition-api';
import type { 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-lnode").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 | ImageInfo)[]>;
        default: () => (string | ImageInfo)[];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    rotateHandler: PropType<() => void>;
    zoomInHandler: PropType<() => void>;
    zoomOutHandler: PropType<() => void>;
    mirrorHandler: PropType<() => void>;
    resetHandler: PropType<() => void>;
    closeHandler: import("vue").PropType<(context: {
        trigger: "overlay" | "esc" | "close-btn";
        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;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    zIndex: NumberConstructor;
    visible: BooleanConstructor;
    index: NumberConstructor;
    images: {
        type: import("vue").PropType<(string | ImageInfo)[]>;
        default: () => (string | ImageInfo)[];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    rotateHandler: PropType<() => void>;
    zoomInHandler: PropType<() => void>;
    zoomOutHandler: PropType<() => void>;
    mirrorHandler: PropType<() => void>;
    resetHandler: PropType<() => void>;
    closeHandler: import("vue").PropType<(context: {
        trigger: "overlay" | "esc" | "close-btn";
        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;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    visible: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    draggable: boolean;
    images: (string | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
} & {
    zIndex?: number;
    resetHandler?: () => void;
    index?: number;
    scale?: number;
    rotateHandler?: () => void;
    zoomInHandler?: () => void;
    zoomOutHandler?: () => void;
    mirrorHandler?: () => void;
    rotate?: number;
    mirror?: number;
    closeHandler?: (context: {
        trigger: "overlay" | "esc" | "close-btn";
        e: MouseEvent | KeyboardEvent;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    renderJSX: (name: string, options?: import("../../../hooks/render-lnode").OptionsType) => any;
    style: import("@vue/composition-api").ComputedRef<{
        minWidth: number;
        minHeight: number;
    }>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    visible: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    draggable: boolean;
    images: (string | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
} & {
    zIndex?: number;
    resetHandler?: () => void;
    index?: number;
    scale?: number;
    rotateHandler?: () => void;
    zoomInHandler?: () => void;
    zoomOutHandler?: () => void;
    mirrorHandler?: () => void;
    rotate?: number;
    mirror?: number;
    closeHandler?: (context: {
        trigger: "overlay" | "esc" | "close-btn";
        e: MouseEvent | KeyboardEvent;
    }) => void;
}, {
    visible: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    draggable: boolean;
    images: (string | ImageInfo)[];
    viewerScale: import("../type").ImageViewerScale;
    currentImage: ImageInfo;
}, true>);
export default _default;
