import { PropType } from 'vue';
import { ImageInfo, TdImageViewerProps } from '../type';
declare const _default: import("vue").DefineComponent<{
    zIndex: NumberConstructor;
    visible: BooleanConstructor;
    index: NumberConstructor;
    images: {
        type: PropType<TdImageViewerProps["images"]>;
        default: () => TdImageViewerProps["images"];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    title: {
        type: PropType<TdImageViewerProps["title"]>;
    };
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    onRotate: PropType<() => void>;
    onZoomIn: PropType<() => void>;
    onZoomOut: PropType<() => void>;
    onMirror: PropType<() => void>;
    onReset: PropType<() => void>;
    onClose: PropType<(context: {
        trigger: "close-btn" | "overlay" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onDownload: PropType<(url: string) => void>;
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    viewerScale: {
        type: PropType<TdImageViewerProps["viewerScale"]>;
        default(): {};
    };
    showOverlay: BooleanConstructor;
    closeBtn: {
        type: PropType<TdImageViewerProps["closeBtn"]>;
        default: TdImageViewerProps["closeBtn"];
    };
    imageReferrerpolicy: {
        type: PropType<TdImageViewerProps["imageReferrerpolicy"]>;
        validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    zIndex: NumberConstructor;
    visible: BooleanConstructor;
    index: NumberConstructor;
    images: {
        type: PropType<TdImageViewerProps["images"]>;
        default: () => TdImageViewerProps["images"];
    };
    scale: NumberConstructor;
    rotate: NumberConstructor;
    mirror: NumberConstructor;
    title: {
        type: PropType<TdImageViewerProps["title"]>;
    };
    currentImage: {
        type: PropType<ImageInfo>;
        default(): {};
    };
    onRotate: PropType<() => void>;
    onZoomIn: PropType<() => void>;
    onZoomOut: PropType<() => void>;
    onMirror: PropType<() => void>;
    onReset: PropType<() => void>;
    onClose: PropType<(context: {
        trigger: "close-btn" | "overlay" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onDownload: PropType<(url: string) => void>;
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    viewerScale: {
        type: PropType<TdImageViewerProps["viewerScale"]>;
        default(): {};
    };
    showOverlay: BooleanConstructor;
    closeBtn: {
        type: PropType<TdImageViewerProps["closeBtn"]>;
        default: TdImageViewerProps["closeBtn"];
    };
    imageReferrerpolicy: {
        type: PropType<TdImageViewerProps["imageReferrerpolicy"]>;
        validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
    };
}>>, {
    draggable: boolean;
    visible: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: typeof import("vue").h) => import("../..").TNodeReturnValue);
    images: (string | File | ImageInfo)[];
    viewerScale: import("..").ImageViewerScale;
    currentImage: ImageInfo;
}, {}>;
export default _default;
