export declare const IvueImage: import("../../utils/install").SFCWithInstall<import("vue").DefineComponent<{
    radius: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    src: {
        type: StringConstructor;
        default: string;
    };
    fit: {
        type: StringConstructor;
        validator(value: string): boolean;
        default: string;
    };
    alt: {
        type: StringConstructor;
        default: string;
    };
    referrerPolicy: {
        type: StringConstructor;
        validator(value: string): boolean;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingText: {
        type: StringConstructor;
        default: string;
    };
    errorText: {
        type: StringConstructor;
        default: string;
    };
    preview: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewText: {
        type: StringConstructor;
        default: string;
    };
    previewTip: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollContainer: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    previewList: {
        type: ArrayConstructor;
    };
}, {
    prefixCls: string;
    wrapper: import("vue").Ref<HTMLDivElement>;
    data: {
        loadingImage: boolean;
        loading: boolean;
        imageError: boolean;
        scrollElement: any;
        observer: {
            readonly root: Element | Document;
            readonly rootMargin: string;
            readonly thresholds: readonly number[];
            disconnect: () => void;
            observe: (target: Element) => void;
            takeRecords: () => IntersectionObserverEntry[];
            unobserve: (target: Element) => void;
        };
        imagePreviewModal: boolean;
    };
    wrapperStyles: import("vue").ComputedRef<{}>;
    imageClasses: import("vue").ComputedRef<string[]>;
    imageStyles: import("vue").ComputedRef<{}>;
    loadingType: import("vue").ComputedRef<"lazy" | "eager">;
    handleImageLoad: () => void;
    handleImageError: () => void;
    handlePreview: () => void;
    handleImagePreviewClose: () => void;
    handleImageSwitch: (params: {
        currentIndex: number;
    }) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("on-close" | "on-switch" | "on-error" | "on-click" | "on-load")[], "on-close" | "on-switch" | "on-error" | "on-click" | "on-load", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    radius: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    src: {
        type: StringConstructor;
        default: string;
    };
    fit: {
        type: StringConstructor;
        validator(value: string): boolean;
        default: string;
    };
    alt: {
        type: StringConstructor;
        default: string;
    };
    referrerPolicy: {
        type: StringConstructor;
        validator(value: string): boolean;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingText: {
        type: StringConstructor;
        default: string;
    };
    errorText: {
        type: StringConstructor;
        default: string;
    };
    preview: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewText: {
        type: StringConstructor;
        default: string;
    };
    previewTip: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollContainer: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    previewList: {
        type: ArrayConstructor;
    };
}>> & {
    "onOn-close"?: (...args: any[]) => any;
    "onOn-switch"?: (...args: any[]) => any;
    "onOn-error"?: (...args: any[]) => any;
    "onOn-click"?: (...args: any[]) => any;
    "onOn-load"?: (...args: any[]) => any;
}, {
    src: string;
    radius: string | number;
    initialIndex: number;
    loadingText: string;
    fit: string;
    lazy: boolean;
    alt: string;
    errorText: string;
    preview: boolean;
    previewText: string;
    previewTip: boolean;
    scrollContainer: string | Record<string, any>;
}>> & {
    ImagePreview: import("vue").DefineComponent<{
        modelValue: {
            type: BooleanConstructor;
            default: boolean;
        };
        transfer: {
            type: BooleanConstructor;
            default(): any;
        };
        initialIndex: {
            type: NumberConstructor;
            default: number;
        };
        maskClosable: {
            type: BooleanConstructor;
            default: boolean;
        };
        previewList: {
            type: ArrayConstructor;
            default: () => any[];
        };
        infinite: {
            type: BooleanConstructor;
            default: boolean;
        };
        toolbar: {
            type: ArrayConstructor;
            default(): any;
        };
        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: "original" | "zoomIn" | "zoomOut" | "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<{
        modelValue: {
            type: BooleanConstructor;
            default: boolean;
        };
        transfer: {
            type: BooleanConstructor;
            default(): any;
        };
        initialIndex: {
            type: NumberConstructor;
            default: number;
        };
        maskClosable: {
            type: BooleanConstructor;
            default: boolean;
        };
        previewList: {
            type: ArrayConstructor;
            default: () => any[];
        };
        infinite: {
            type: BooleanConstructor;
            default: boolean;
        };
        toolbar: {
            type: ArrayConstructor;
            default(): any;
        };
        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 IvueImage;
export declare const IvueImagePreview: import("../../utils/install").SFCInstallWithContext<import("vue").DefineComponent<{
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    toolbar: {
        type: ArrayConstructor;
        default(): any;
    };
    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: "original" | "zoomIn" | "zoomOut" | "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<{
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    infinite: {
        type: BooleanConstructor;
        default: boolean;
    };
    toolbar: {
        type: ArrayConstructor;
        default(): any;
    };
    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 * from './index.vue';
export * from './image-preview.vue';
