declare const _sfc_main: import("vue").DefineComponent<{
    /**
     * 是否显示，可使用 v-model 双向绑定
     *
     * @type {Boolean}
     */
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否将弹层放置于 body 内
     *
     * @type {Boolean}
     */
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 打开预览的第一项
     *
     * @type {Number}
     */
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否允许点击遮罩层关闭
     *
     * @type {Boolean}
     */
    maskClosable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 图片预览列表
     *
     * @type {Array}
     */
    previewList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    /**
     * 是否循环切换
     *
     * @type {Boolean}
     */
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 图片预览操作栏选项，按数组顺序排序
     *
     * @type {Array}
     */
    toolbar: {
        type: ArrayConstructor;
        default(): any;
    };
    /**
     * 防止body滚动
     *
     * @type {Boolean}
     */
    bodyOverflow: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    prefixCls: string;
    wrapper: import("vue").Ref<HTMLElement>;
    data: {
        maskIndex: number;
        imageStatus: string;
        currentIndex: number;
        transition: boolean;
        original: boolean;
        startX: number;
        startY: number;
        imageTranslate: {
            x: number;
            y: number;
        };
        imageScale: number;
        imageRotate: number;
        prevOverflow: string;
        downloading: boolean;
    };
    maskStyles: import("vue").ComputedRef<{
        zIndex: number;
    }>;
    currentImage: import("vue").ComputedRef<any>;
    imageClasses: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    imageStyles: import("vue").ComputedRef<{
        transform: string;
    }>;
    handleClickMask: () => void;
    handleImageLoad: () => void;
    handleImageError: () => void;
    handleMousedown: (event: MouseEvent) => void;
    handleImageSwitch: (next: boolean) => void;
    handleOperation: (value: 'zoomIn' | 'zoomOut' | 'original' | 'rotateLeft' | 'rotateRight' | 'download') => void;
    handleClose: () => void;
    handleTouchStart: (event: TouchEvent) => void;
    resetStyle: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "on-close" | "on-switch")[], "update:modelValue" | "on-close" | "on-switch", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * 是否显示，可使用 v-model 双向绑定
     *
     * @type {Boolean}
     */
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否将弹层放置于 body 内
     *
     * @type {Boolean}
     */
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 打开预览的第一项
     *
     * @type {Number}
     */
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否允许点击遮罩层关闭
     *
     * @type {Boolean}
     */
    maskClosable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 图片预览列表
     *
     * @type {Array}
     */
    previewList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    /**
     * 是否循环切换
     *
     * @type {Boolean}
     */
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 图片预览操作栏选项，按数组顺序排序
     *
     * @type {Array}
     */
    toolbar: {
        type: ArrayConstructor;
        default(): any;
    };
    /**
     * 防止body滚动
     *
     * @type {Boolean}
     */
    bodyOverflow: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: (...args: any[]) => any;
    "onOn-close"?: (...args: any[]) => any;
    "onOn-switch"?: (...args: any[]) => any;
}, {
    modelValue: boolean;
    initialIndex: number;
    transfer: boolean;
    maskClosable: boolean;
    previewList: unknown[];
    infinite: boolean;
    toolbar: unknown[];
    bodyOverflow: boolean;
}>;
export default _sfc_main;
