import { TdImageViewerProps } from './type';
import './style';
export * from './type';
export declare type ImageViewerProps = TdImageViewerProps;
export declare const ImageViewer: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            index?: number;
            visible?: boolean;
            draggable?: boolean;
            mode?: "modal" | "modeless";
            modelValue?: boolean;
            defaultVisible?: boolean;
            showOverlay?: boolean;
            closeBtn?: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            images?: (string | File | import("./type").ImageInfo)[];
            navigationArrow?: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            closeOnOverlay?: boolean;
            key?: string | number | symbol;
            readonly zIndex?: number;
            style?: unknown;
            readonly title?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            readonly trigger?: string | ((h: typeof import("vue").h, props: {
                open: () => void;
            }) => import("..").SlotReturnValue);
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly onClose?: (context: {
                trigger: "overlay" | "close-btn" | "esc";
                e: MouseEvent | KeyboardEvent;
            }) => void;
            readonly imageScale?: import("./type").ImageScale;
            readonly viewerScale?: import("./type").ImageViewerScale;
            readonly onIndexChange?: (index: number, context: {
                trigger: "next" | "prev" | "current";
            }) => void;
            readonly defaultIndex?: number;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            closeBtn: {
                type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            };
            closeOnOverlay: BooleanConstructor;
            draggable: {
                type: BooleanConstructor;
                default: any;
            };
            imageScale: {
                type: import("vue").PropType<import("./type").ImageScale>;
            };
            images: {
                type: import("vue").PropType<(string | File | import("./type").ImageInfo)[]>;
                default: () => (string | File | import("./type").ImageInfo)[];
            };
            index: {
                type: NumberConstructor;
                default: any;
            };
            defaultIndex: {
                type: NumberConstructor;
            };
            mode: {
                type: import("vue").PropType<"modal" | "modeless">;
                default: "modal" | "modeless";
                validator(val: "modal" | "modeless"): boolean;
            };
            navigationArrow: {
                type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            };
            showOverlay: {
                type: BooleanConstructor;
                default: any;
            };
            title: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            trigger: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
                    open: () => void;
                }) => import("..").SlotReturnValue)>;
            };
            viewerScale: {
                type: import("vue").PropType<import("./type").ImageViewerScale>;
            };
            visible: {
                type: BooleanConstructor;
                default: any;
            };
            modelValue: {
                type: BooleanConstructor;
                default: any;
            };
            defaultVisible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
            };
            onClose: import("vue").PropType<(context: {
                trigger: "overlay" | "close-btn" | "esc";
                e: MouseEvent | KeyboardEvent;
            }) => void>;
            onIndexChange: import("vue").PropType<(index: number, context: {
                trigger: "next" | "prev" | "current";
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            index: number;
            visible: boolean;
            draggable: boolean;
            mode: "modal" | "modeless";
            modelValue: boolean;
            defaultVisible: boolean;
            showOverlay: boolean;
            closeBtn: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            images: (string | File | import("./type").ImageInfo)[];
            navigationArrow: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            closeOnOverlay: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        closeBtn: {
            type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
        };
        closeOnOverlay: BooleanConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        imageScale: {
            type: import("vue").PropType<import("./type").ImageScale>;
        };
        images: {
            type: import("vue").PropType<(string | File | import("./type").ImageInfo)[]>;
            default: () => (string | File | import("./type").ImageInfo)[];
        };
        index: {
            type: NumberConstructor;
            default: any;
        };
        defaultIndex: {
            type: NumberConstructor;
        };
        mode: {
            type: import("vue").PropType<"modal" | "modeless">;
            default: "modal" | "modeless";
            validator(val: "modal" | "modeless"): boolean;
        };
        navigationArrow: {
            type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
        };
        showOverlay: {
            type: BooleanConstructor;
            default: any;
        };
        title: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        trigger: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
                open: () => void;
            }) => import("..").SlotReturnValue)>;
        };
        viewerScale: {
            type: import("vue").PropType<import("./type").ImageViewerScale>;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<(context: {
            trigger: "overlay" | "close-btn" | "esc";
            e: MouseEvent | KeyboardEvent;
        }) => void>;
        onIndexChange: import("vue").PropType<(index: number, context: {
            trigger: "next" | "prev" | "current";
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    closeBtn: {
        type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    };
    closeOnOverlay: BooleanConstructor;
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    imageScale: {
        type: import("vue").PropType<import("./type").ImageScale>;
    };
    images: {
        type: import("vue").PropType<(string | File | import("./type").ImageInfo)[]>;
        default: () => (string | File | import("./type").ImageInfo)[];
    };
    index: {
        type: NumberConstructor;
        default: any;
    };
    defaultIndex: {
        type: NumberConstructor;
    };
    mode: {
        type: import("vue").PropType<"modal" | "modeless">;
        default: "modal" | "modeless";
        validator(val: "modal" | "modeless"): boolean;
    };
    navigationArrow: {
        type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    };
    showOverlay: {
        type: BooleanConstructor;
        default: any;
    };
    title: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    trigger: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
            open: () => void;
        }) => import("..").SlotReturnValue)>;
    };
    viewerScale: {
        type: import("vue").PropType<import("./type").ImageViewerScale>;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    modelValue: {
        type: BooleanConstructor;
        default: any;
    };
    defaultVisible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onClose: import("vue").PropType<(context: {
        trigger: "overlay" | "close-btn" | "esc";
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onIndexChange: import("vue").PropType<(index: number, context: {
        trigger: "next" | "prev" | "current";
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    index: number;
    visible: boolean;
    draggable: boolean;
    mode: "modal" | "modeless";
    modelValue: boolean;
    defaultVisible: boolean;
    showOverlay: boolean;
    closeBtn: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    images: (string | File | import("./type").ImageInfo)[];
    navigationArrow: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    closeOnOverlay: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export default ImageViewer;
