import type { CSSProperties, PropType } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
export declare const imageProps: {
    readonly src: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly name: StringConstructor;
    readonly preview: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fit: {
        readonly type: PropType<"fill" | "none" | "contain" | "cover" | "scale-down">;
    };
    readonly lazy: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hideOnClickModal: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly scrollContainer: PropType<string | HTMLElement>;
    readonly download: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly previewContainer: {
        readonly type: PropType<() => HTMLElement>;
    };
    readonly height: PropType<string | number>;
    readonly width: PropType<string | number>;
};
export type ImageProps = ExtractPublicPropTypes<typeof imageProps>;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly src: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly name: StringConstructor;
    readonly preview: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fit: {
        readonly type: PropType<"fill" | "none" | "contain" | "cover" | "scale-down">;
    };
    readonly lazy: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hideOnClickModal: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly scrollContainer: PropType<string | HTMLElement>;
    readonly download: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly previewContainer: {
        readonly type: PropType<() => HTMLElement>;
    };
    readonly height: PropType<string | number>;
    readonly width: PropType<string | number>;
}>, {
    imgAttrs: import("vue").ComputedRef<{
        crossorigin: "" | "anonymous" | "use-credentials";
        decoding: "auto" | "async" | "sync";
        alt: string;
        sizes: string;
        srcset: string;
        usemap: string;
    }>;
    imageStyle: import("vue").ComputedRef<CSSProperties>;
    isShowPreview: import("vue").Ref<boolean, boolean>;
    clickHandler: () => void;
    closeViewer: () => void;
    container: import("vue").Ref<any, any>;
    prefixCls: string;
    isLoadError: import("vue").Ref<boolean, boolean>;
    loading: import("vue").Ref<boolean, boolean>;
    imageSize: {
        height: number;
        width: number;
    };
    style: import("vue").ComputedRef<{
        width: string;
        height: string;
    }>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "close" | "load")[], "error" | "close" | "load", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly src: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly name: StringConstructor;
    readonly preview: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fit: {
        readonly type: PropType<"fill" | "none" | "contain" | "cover" | "scale-down">;
    };
    readonly lazy: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hideOnClickModal: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly scrollContainer: PropType<string | HTMLElement>;
    readonly download: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly previewContainer: {
        readonly type: PropType<() => HTMLElement>;
    };
    readonly height: PropType<string | number>;
    readonly width: PropType<string | number>;
}>> & Readonly<{
    onClose?: (...args: any[]) => any;
    onLoad?: (...args: any[]) => any;
    onError?: (...args: any[]) => any;
}>, {
    readonly lazy: boolean;
    readonly src: string;
    readonly preview: boolean;
    readonly hideOnClickModal: boolean;
    readonly download: boolean;
}, {}, {
    Preview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly show: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly hideOnClickModal: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly src: {
            readonly type: StringConstructor;
            readonly default: "";
        };
        readonly download: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly getContainer: {
            readonly type: PropType<() => HTMLElement>;
        };
        readonly size: PropType<{
            width: number;
            height: number;
        }>;
        readonly name: StringConstructor;
    }>, {
        containerRef: import("vue").Ref<HTMLElement, HTMLElement>;
        prefixCls: string;
        handleClose: () => void;
        isGroup: import("vue").Ref<boolean, boolean>;
        prev: () => void;
        next: () => void;
        handleActions: (action: string, option?: {
            zoomRate?: number;
            rotateDeg?: number;
            enableTransition?: boolean;
        }) => void;
        previewStyle: import("vue").ComputedRef<CSSProperties>;
        zIndex: import("vue").Ref<number, number>;
        isDragging: import("vue").Ref<boolean, boolean>;
        handleMouseDown: (event: MouseEvent) => void;
        getContainer: import("vue").ComputedRef<import("../_util/interface").GetContainer>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly show: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly hideOnClickModal: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly src: {
            readonly type: StringConstructor;
            readonly default: "";
        };
        readonly download: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly getContainer: {
            readonly type: PropType<() => HTMLElement>;
        };
        readonly size: PropType<{
            width: number;
            height: number;
        }>;
        readonly name: StringConstructor;
    }>> & Readonly<{
        onClose?: (...args: any[]) => any;
    }>, {
        readonly show: boolean;
        readonly src: string;
        readonly hideOnClickModal: boolean;
        readonly download: boolean;
    }, {}, {
        LeftOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        RightOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        CloseOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        ReloadOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        RotateLeftOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        SearchPlusOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        SearchMinusOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
        DownloadOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    PictureOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
    PictureFailOutlined: (props?: import("../icon/IconWrapper").IconProps) => import("vue/jsx-runtime").JSX.Element;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
