declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
    rootClass: import("@vue/composition-api").ComputedRef<string[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    prevImage: () => void;
    nextImage: () => void;
    zIndexValue: import("@vue/composition-api").ComputedRef<number>;
    visibleValue: import("@vue/composition-api").Ref<boolean>;
    indexValue: import("@vue/composition-api").Ref<number>;
    imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
    showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
    wrapClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rotate: import("@vue/composition-api").Ref<number>;
    mirror: import("@vue/composition-api").Ref<number>;
    currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
    onRotate: () => void;
    onZoomIn: () => void;
    onZoomOut: () => void;
    onMirror: () => void;
    onRest: () => void;
    onDownloadClick: (url: string) => void;
    openHandler: () => void;
    onCloseHandle: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
    onWheel: (e: WheelEvent) => void;
    clickOverlayHandler: (e: MouseEvent) => void;
    headerClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    toggleExpand: () => void;
    transStyle: import("@vue/composition-api").ComputedRef<object>;
    onImgClick: (i: number) => void;
    closeBtnAction: (e: MouseEvent) => void;
    scale: import("@vue/composition-api").Ref<number>;
    isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
    containerRef: import("@vue/composition-api").Ref<any>;
    keydownHandler: (e: KeyboardEvent) => void;
    divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
}> & import("@vue/composition-api").Data, {
    renderHeader(): JSX.Element;
    renderNavigationArrow(type: 'prev' | 'next'): JSX.Element;
    renderModal(): JSX.Element;
    renderCloseBtn(): JSX.Element;
    renderViewer(): JSX.Element;
}, {}, {
    attach: {
        type: import("vue").PropType<import("..").AttachNode>;
        default: string;
    };
    closeBtn: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    closeOnEscKeydown: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnOverlay: BooleanConstructor;
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    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;
    };
    imageScale: {
        type: import("vue").PropType<import("./type").ImageScale>;
    };
    images: {
        type: import("vue").PropType<(string | File | import("./type").ImageInfo)[]>;
        default: () => (string | File | import("./type").ImageInfo)[];
    };
    index: {
        type: NumberConstructor;
        default: number;
    };
    defaultIndex: {
        type: NumberConstructor;
        default: number;
    };
    mode: {
        type: import("vue").PropType<"modal" | "modeless">;
        default: "modal" | "modeless";
        validator(val: "modal" | "modeless"): boolean;
    };
    navigationArrow: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    showOverlay: {
        type: BooleanConstructor;
        default: any;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    trigger: {
        type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
            open: () => void;
        }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    viewerScale: {
        type: import("vue").PropType<import("./type").ImageViewerScale>;
    };
    visible: BooleanConstructor;
    defaultVisible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onClose: import("vue").PropType<(context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onDownload: import("vue").PropType<(url: string) => void>;
    onIndexChange: import("vue").PropType<(index: number, context: {
        trigger: "next" | "prev" | "current";
    }) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
    attach: {
        type: import("vue").PropType<import("..").AttachNode>;
        default: string;
    };
    closeBtn: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    closeOnEscKeydown: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnOverlay: BooleanConstructor;
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    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;
    };
    imageScale: {
        type: import("vue").PropType<import("./type").ImageScale>;
    };
    images: {
        type: import("vue").PropType<(string | File | import("./type").ImageInfo)[]>;
        default: () => (string | File | import("./type").ImageInfo)[];
    };
    index: {
        type: NumberConstructor;
        default: number;
    };
    defaultIndex: {
        type: NumberConstructor;
        default: number;
    };
    mode: {
        type: import("vue").PropType<"modal" | "modeless">;
        default: "modal" | "modeless";
        validator(val: "modal" | "modeless"): boolean;
    };
    navigationArrow: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    showOverlay: {
        type: BooleanConstructor;
        default: any;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    trigger: {
        type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
            open: () => void;
        }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    viewerScale: {
        type: import("vue").PropType<import("./type").ImageViewerScale>;
    };
    visible: BooleanConstructor;
    defaultVisible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onClose: import("vue").PropType<(context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onDownload: import("vue").PropType<(url: string) => void>;
    onIndexChange: import("vue").PropType<(index: number, context: {
        trigger: "next" | "prev" | "current";
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    index: number;
    visible: boolean;
    draggable: boolean;
    attach: import("..").AttachNode;
    defaultVisible: boolean;
    showOverlay: boolean;
    mode: "modal" | "modeless";
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | import("./type").ImageInfo)[];
    navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: boolean;
    closeOnOverlay: boolean;
    defaultIndex: number;
} & {
    zIndex?: number;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onClose?: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
    trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
        open: () => void;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    imageScale?: import("./type").ImageScale;
    viewerScale?: import("./type").ImageViewerScale;
    onDownload?: (url: string) => void;
    onIndexChange?: (index: number, context: {
        trigger: "next" | "prev" | "current";
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
    rootClass: import("@vue/composition-api").ComputedRef<string[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    prevImage: () => void;
    nextImage: () => void;
    zIndexValue: import("@vue/composition-api").ComputedRef<number>;
    visibleValue: import("@vue/composition-api").Ref<boolean>;
    indexValue: import("@vue/composition-api").Ref<number>;
    imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
    showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
    wrapClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rotate: import("@vue/composition-api").Ref<number>;
    mirror: import("@vue/composition-api").Ref<number>;
    currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
    onRotate: () => void;
    onZoomIn: () => void;
    onZoomOut: () => void;
    onMirror: () => void;
    onRest: () => void;
    onDownloadClick: (url: string) => void;
    openHandler: () => void;
    onCloseHandle: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
    onWheel: (e: WheelEvent) => void;
    clickOverlayHandler: (e: MouseEvent) => void;
    headerClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    toggleExpand: () => void;
    transStyle: import("@vue/composition-api").ComputedRef<object>;
    onImgClick: (i: number) => void;
    closeBtnAction: (e: MouseEvent) => void;
    scale: import("@vue/composition-api").Ref<number>;
    isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
    containerRef: import("@vue/composition-api").Ref<any>;
    keydownHandler: (e: KeyboardEvent) => void;
    divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
}>, import("@vue/composition-api").Data, {}, {
    renderHeader(): JSX.Element;
    renderNavigationArrow(type: 'prev' | 'next'): JSX.Element;
    renderModal(): JSX.Element;
    renderCloseBtn(): JSX.Element;
    renderViewer(): JSX.Element;
}, {}, {}, {}, {
    index: number;
    visible: boolean;
    draggable: boolean;
    attach: import("..").AttachNode;
    defaultVisible: boolean;
    showOverlay: boolean;
    mode: "modal" | "modeless";
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | import("./type").ImageInfo)[];
    navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: boolean;
    closeOnOverlay: boolean;
    defaultIndex: number;
} & {
    zIndex?: number;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onClose?: (context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void;
    trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
        open: () => void;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    imageScale?: import("./type").ImageScale;
    viewerScale?: import("./type").ImageViewerScale;
    onDownload?: (url: string) => void;
    onIndexChange?: (index: number, context: {
        trigger: "next" | "prev" | "current";
    }) => void;
}, {
    index: number;
    visible: boolean;
    draggable: boolean;
    attach: import("..").AttachNode;
    defaultVisible: boolean;
    showOverlay: boolean;
    mode: "modal" | "modeless";
    closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    images: (string | File | import("./type").ImageInfo)[];
    navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: boolean;
    closeOnOverlay: boolean;
    defaultIndex: number;
}, true>);
export default _default;
