import { ImageViewerProps, Images, ImagesInfo, ViewerJsType, ViewerOptions } from './image-viewer';
export declare function useImageViewer(props: ImageViewerProps): {
    options: import('vue').Ref<{
        title: boolean;
        button: boolean;
        minZoomRatio: number;
        maxZoomRatio: number;
        toolbar: {
            zoomIn: boolean;
            zoomOut: boolean;
            oneToOne: boolean;
            reset: boolean;
            prev: boolean;
            play: boolean;
            custom?: {
                title: string;
                onClick: (event: MouseEvent) => void;
            };
            next: boolean;
            rotateLeft: boolean;
            rotateRight: boolean;
            flipHorizontal: boolean;
            flipVertical: boolean;
        };
        hide: (e: Event) => void;
    }, ViewerOptions | {
        title: boolean;
        button: boolean;
        minZoomRatio: number;
        maxZoomRatio: number;
        toolbar: {
            zoomIn: boolean;
            zoomOut: boolean;
            oneToOne: boolean;
            reset: boolean;
            prev: boolean;
            play: boolean;
            custom?: {
                title: string;
                onClick: (event: MouseEvent) => void;
            };
            next: boolean;
            rotateLeft: boolean;
            rotateRight: boolean;
            flipHorizontal: boolean;
            flipVertical: boolean;
        };
        hide: (e: Event) => void;
    }>;
    viewer: import('vue').Ref<{
        ready?: boolean;
        index?: number;
        destroy: () => Viewer;
        exit: () => Viewer;
        full: () => Viewer;
        hide: (immediate?: boolean) => Viewer;
        move: (offsetX: number, offsetY?: number) => Viewer;
        moveTo: (x: number, y?: number) => Viewer;
        next: (loop?: boolean) => Viewer;
        play: (fullscreen?: boolean | FullscreenOptions) => Viewer;
        prev: (loop?: boolean) => Viewer;
        reset: () => Viewer;
        rotate: (degree: number) => Viewer;
        rotateTo: (degree: number) => Viewer;
        scale: (scaleX: number, scaleY?: number) => Viewer;
        scaleX: (scaleX: number) => Viewer;
        scaleY: (scaleY: number) => Viewer;
        show: (immediate?: boolean) => Viewer;
        stop: () => Viewer;
        toggle: () => Viewer;
        tooltip: () => Viewer;
        update: () => Viewer;
        view: (index?: number) => Viewer;
        zoom: (ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot) => Viewer;
        zoomTo: (ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot) => Viewer;
    }, ViewerJsType | {
        ready?: boolean;
        index?: number;
        destroy: () => Viewer;
        exit: () => Viewer;
        full: () => Viewer;
        hide: (immediate?: boolean) => Viewer;
        move: (offsetX: number, offsetY?: number) => Viewer;
        moveTo: (x: number, y?: number) => Viewer;
        next: (loop?: boolean) => Viewer;
        play: (fullscreen?: boolean | FullscreenOptions) => Viewer;
        prev: (loop?: boolean) => Viewer;
        reset: () => Viewer;
        rotate: (degree: number) => Viewer;
        rotateTo: (degree: number) => Viewer;
        scale: (scaleX: number, scaleY?: number) => Viewer;
        scaleX: (scaleX: number) => Viewer;
        scaleY: (scaleY: number) => Viewer;
        show: (immediate?: boolean) => Viewer;
        stop: () => Viewer;
        toggle: () => Viewer;
        tooltip: () => Viewer;
        update: () => Viewer;
        view: (index?: number) => Viewer;
        zoom: (ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot) => Viewer;
        zoomTo: (ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot) => Viewer;
    }>;
    imageUrls: import('vue').Ref<string[], string[]>;
    imageNames: import('vue').Ref<string[], string[]>;
    curImg: import('vue').Ref<number, number>;
    curImgTitle: import('vue').Ref<string, string>;
    openViewer: (images: Images, index: number, imagesInfo: ImagesInfo) => void;
    updateViewerInfo: () => void;
};
