import { TdImageViewerProps } from './type';
import './style';
export * from './type';
export type ImageViewerProps = TdImageViewerProps;
export declare const ImageViewer: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<TdImageViewerProps["attach"]>;
            default: TdImageViewerProps["attach"];
        };
        closeBtn: {
            type: import("vue").PropType<TdImageViewerProps["closeBtn"]>;
            default: TdImageViewerProps["closeBtn"];
        };
        closeOnEscKeydown: {
            type: BooleanConstructor;
            default: boolean;
        };
        closeOnOverlay: BooleanConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        imageReferrerpolicy: {
            type: import("vue").PropType<TdImageViewerProps["imageReferrerpolicy"]>;
            validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
        };
        imageScale: {
            type: import("vue").PropType<TdImageViewerProps["imageScale"]>;
        };
        images: {
            type: import("vue").PropType<TdImageViewerProps["images"]>;
            default: () => TdImageViewerProps["images"];
        };
        index: {
            type: NumberConstructor;
            default: any;
        };
        defaultIndex: {
            type: NumberConstructor;
            default: number;
        };
        mode: {
            type: import("vue").PropType<TdImageViewerProps["mode"]>;
            default: TdImageViewerProps["mode"];
            validator(val: TdImageViewerProps["mode"]): boolean;
        };
        navigationArrow: {
            type: import("vue").PropType<TdImageViewerProps["navigationArrow"]>;
            default: TdImageViewerProps["navigationArrow"];
        };
        showOverlay: {
            type: BooleanConstructor;
            default: any;
        };
        title: {
            type: import("vue").PropType<TdImageViewerProps["title"]>;
        };
        trigger: {
            type: import("vue").PropType<TdImageViewerProps["trigger"]>;
        };
        viewerScale: {
            type: import("vue").PropType<TdImageViewerProps["viewerScale"]>;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<TdImageViewerProps["onClose"]>;
        onDownload: import("vue").PropType<TdImageViewerProps["onDownload"]>;
        onIndexChange: import("vue").PropType<TdImageViewerProps["onIndexChange"]>;
    }>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<TdImageViewerProps["attach"]>;
            default: TdImageViewerProps["attach"];
        };
        closeBtn: {
            type: import("vue").PropType<TdImageViewerProps["closeBtn"]>;
            default: TdImageViewerProps["closeBtn"];
        };
        closeOnEscKeydown: {
            type: BooleanConstructor;
            default: boolean;
        };
        closeOnOverlay: BooleanConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        imageReferrerpolicy: {
            type: import("vue").PropType<TdImageViewerProps["imageReferrerpolicy"]>;
            validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
        };
        imageScale: {
            type: import("vue").PropType<TdImageViewerProps["imageScale"]>;
        };
        images: {
            type: import("vue").PropType<TdImageViewerProps["images"]>;
            default: () => TdImageViewerProps["images"];
        };
        index: {
            type: NumberConstructor;
            default: any;
        };
        defaultIndex: {
            type: NumberConstructor;
            default: number;
        };
        mode: {
            type: import("vue").PropType<TdImageViewerProps["mode"]>;
            default: TdImageViewerProps["mode"];
            validator(val: TdImageViewerProps["mode"]): boolean;
        };
        navigationArrow: {
            type: import("vue").PropType<TdImageViewerProps["navigationArrow"]>;
            default: TdImageViewerProps["navigationArrow"];
        };
        showOverlay: {
            type: BooleanConstructor;
            default: any;
        };
        title: {
            type: import("vue").PropType<TdImageViewerProps["title"]>;
        };
        trigger: {
            type: import("vue").PropType<TdImageViewerProps["trigger"]>;
        };
        viewerScale: {
            type: import("vue").PropType<TdImageViewerProps["viewerScale"]>;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<TdImageViewerProps["onClose"]>;
        onDownload: import("vue").PropType<TdImageViewerProps["onDownload"]>;
        onIndexChange: import("vue").PropType<TdImageViewerProps["onIndexChange"]>;
    }>>, {
        mode: "modal" | "modeless";
        draggable: boolean;
        visible: boolean;
        modelValue: boolean;
        attach: import("..").AttachNode;
        defaultVisible: boolean;
        showOverlay: boolean;
        index: number;
        images: (string | File | import("./type").ImageInfo)[];
        closeBtn: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        closeOnEscKeydown: boolean;
        navigationArrow: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        closeOnOverlay: boolean;
        defaultIndex: number;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<TdImageViewerProps["attach"]>;
            default: TdImageViewerProps["attach"];
        };
        closeBtn: {
            type: import("vue").PropType<TdImageViewerProps["closeBtn"]>;
            default: TdImageViewerProps["closeBtn"];
        };
        closeOnEscKeydown: {
            type: BooleanConstructor;
            default: boolean;
        };
        closeOnOverlay: BooleanConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        imageReferrerpolicy: {
            type: import("vue").PropType<TdImageViewerProps["imageReferrerpolicy"]>;
            validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
        };
        imageScale: {
            type: import("vue").PropType<TdImageViewerProps["imageScale"]>;
        };
        images: {
            type: import("vue").PropType<TdImageViewerProps["images"]>;
            default: () => TdImageViewerProps["images"];
        };
        index: {
            type: NumberConstructor;
            default: any;
        };
        defaultIndex: {
            type: NumberConstructor;
            default: number;
        };
        mode: {
            type: import("vue").PropType<TdImageViewerProps["mode"]>;
            default: TdImageViewerProps["mode"];
            validator(val: TdImageViewerProps["mode"]): boolean;
        };
        navigationArrow: {
            type: import("vue").PropType<TdImageViewerProps["navigationArrow"]>;
            default: TdImageViewerProps["navigationArrow"];
        };
        showOverlay: {
            type: BooleanConstructor;
            default: any;
        };
        title: {
            type: import("vue").PropType<TdImageViewerProps["title"]>;
        };
        trigger: {
            type: import("vue").PropType<TdImageViewerProps["trigger"]>;
        };
        viewerScale: {
            type: import("vue").PropType<TdImageViewerProps["viewerScale"]>;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<TdImageViewerProps["onClose"]>;
        onDownload: import("vue").PropType<TdImageViewerProps["onDownload"]>;
        onIndexChange: import("vue").PropType<TdImageViewerProps["onIndexChange"]>;
    }>>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        mode: "modal" | "modeless";
        draggable: boolean;
        visible: boolean;
        modelValue: boolean;
        attach: import("..").AttachNode;
        defaultVisible: boolean;
        showOverlay: boolean;
        index: number;
        images: (string | File | import("./type").ImageInfo)[];
        closeBtn: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        closeOnEscKeydown: boolean;
        navigationArrow: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        closeOnOverlay: boolean;
        defaultIndex: number;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    attach: {
        type: import("vue").PropType<TdImageViewerProps["attach"]>;
        default: TdImageViewerProps["attach"];
    };
    closeBtn: {
        type: import("vue").PropType<TdImageViewerProps["closeBtn"]>;
        default: TdImageViewerProps["closeBtn"];
    };
    closeOnEscKeydown: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnOverlay: BooleanConstructor;
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    imageReferrerpolicy: {
        type: import("vue").PropType<TdImageViewerProps["imageReferrerpolicy"]>;
        validator(val: TdImageViewerProps["imageReferrerpolicy"]): boolean;
    };
    imageScale: {
        type: import("vue").PropType<TdImageViewerProps["imageScale"]>;
    };
    images: {
        type: import("vue").PropType<TdImageViewerProps["images"]>;
        default: () => TdImageViewerProps["images"];
    };
    index: {
        type: NumberConstructor;
        default: any;
    };
    defaultIndex: {
        type: NumberConstructor;
        default: number;
    };
    mode: {
        type: import("vue").PropType<TdImageViewerProps["mode"]>;
        default: TdImageViewerProps["mode"];
        validator(val: TdImageViewerProps["mode"]): boolean;
    };
    navigationArrow: {
        type: import("vue").PropType<TdImageViewerProps["navigationArrow"]>;
        default: TdImageViewerProps["navigationArrow"];
    };
    showOverlay: {
        type: BooleanConstructor;
        default: any;
    };
    title: {
        type: import("vue").PropType<TdImageViewerProps["title"]>;
    };
    trigger: {
        type: import("vue").PropType<TdImageViewerProps["trigger"]>;
    };
    viewerScale: {
        type: import("vue").PropType<TdImageViewerProps["viewerScale"]>;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    modelValue: {
        type: BooleanConstructor;
        default: any;
    };
    defaultVisible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onClose: import("vue").PropType<TdImageViewerProps["onClose"]>;
    onDownload: import("vue").PropType<TdImageViewerProps["onDownload"]>;
    onIndexChange: import("vue").PropType<TdImageViewerProps["onIndexChange"]>;
}>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    mode: "modal" | "modeless";
    draggable: boolean;
    visible: boolean;
    modelValue: boolean;
    attach: import("..").AttachNode;
    defaultVisible: boolean;
    showOverlay: boolean;
    index: number;
    images: (string | File | import("./type").ImageInfo)[];
    closeBtn: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
    closeOnEscKeydown: boolean;
    navigationArrow: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
    closeOnOverlay: boolean;
    defaultIndex: number;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default ImageViewer;
