import type { App } from 'vue';
export declare const ImagePreview: {
    (options: string[] | import("vant").ImagePreviewOptions, startPosition?: number | undefined): import("packages/vant/lib/utils").ComponentInstance | undefined;
    Component: import("packages/vant/lib/utils").WithInstall<import("vue").DefineComponent<{
        show: BooleanConstructor;
        loop: {
            type: BooleanConstructor;
            default: true;
        };
        images: {
            type: import("vue").PropType<string[]>;
            default: () => never[];
        };
        minZoom: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        maxZoom: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        overlay: {
            type: BooleanConstructor;
            default: true;
        };
        vertical: BooleanConstructor;
        closeable: BooleanConstructor;
        showIndex: {
            type: BooleanConstructor;
            default: true;
        };
        className: import("vue").PropType<unknown>;
        closeIcon: {
            type: import("vue").PropType<string>;
            default: string;
        };
        transition: StringConstructor;
        beforeClose: import("vue").PropType<import("packages/vant/lib/utils").Interceptor>;
        doubleScale: {
            type: BooleanConstructor;
            default: true;
        };
        overlayClass: import("vue").PropType<unknown>;
        overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
        swipeDuration: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        startPosition: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        showIndicators: BooleanConstructor;
        closeOnPopstate: {
            type: BooleanConstructor;
            default: true;
        };
        closeOnClickImage: {
            type: BooleanConstructor;
            default: true;
        };
        closeOnClickOverlay: {
            type: BooleanConstructor;
            default: true;
        };
        closeIconPosition: {
            type: import("vue").PropType<import("vant").PopupCloseIconPosition>;
            default: import("vant").PopupCloseIconPosition;
        };
        teleport: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
    }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:show" | "change" | "close" | "closed" | "scale" | "longPress")[], "update:show" | "change" | "close" | "closed" | "scale" | "longPress", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        show: BooleanConstructor;
        loop: {
            type: BooleanConstructor;
            default: true;
        };
        images: {
            type: import("vue").PropType<string[]>;
            default: () => never[];
        };
        minZoom: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        maxZoom: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        overlay: {
            type: BooleanConstructor;
            default: true;
        };
        vertical: BooleanConstructor;
        closeable: BooleanConstructor;
        showIndex: {
            type: BooleanConstructor;
            default: true;
        };
        className: import("vue").PropType<unknown>;
        closeIcon: {
            type: import("vue").PropType<string>;
            default: string;
        };
        transition: StringConstructor;
        beforeClose: import("vue").PropType<import("packages/vant/lib/utils").Interceptor>;
        doubleScale: {
            type: BooleanConstructor;
            default: true;
        };
        overlayClass: import("vue").PropType<unknown>;
        overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
        swipeDuration: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        startPosition: {
            type: (NumberConstructor | StringConstructor)[];
            default: number;
        };
        showIndicators: BooleanConstructor;
        closeOnPopstate: {
            type: BooleanConstructor;
            default: true;
        };
        closeOnClickImage: {
            type: BooleanConstructor;
            default: true;
        };
        closeOnClickOverlay: {
            type: BooleanConstructor;
            default: true;
        };
        closeIconPosition: {
            type: import("vue").PropType<import("vant").PopupCloseIconPosition>;
            default: import("vant").PopupCloseIconPosition;
        };
        teleport: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
    }>> & {
        onChange?: ((...args: any[]) => any) | undefined;
        onClose?: ((...args: any[]) => any) | undefined;
        onClosed?: ((...args: any[]) => any) | undefined;
        "onUpdate:show"?: ((...args: any[]) => any) | undefined;
        onScale?: ((...args: any[]) => any) | undefined;
        onLongPress?: ((...args: any[]) => any) | undefined;
    }, {
        loop: boolean;
        overlay: boolean;
        show: boolean;
        vertical: boolean;
        closeOnClickOverlay: boolean;
        closeIcon: string;
        closeable: boolean;
        closeOnPopstate: boolean;
        closeIconPosition: import("vant").PopupCloseIconPosition;
        swipeDuration: string | number;
        showIndicators: boolean;
        startPosition: string | number;
        minZoom: string | number;
        maxZoom: string | number;
        doubleScale: boolean;
        closeOnClickImage: boolean;
        images: string[];
        showIndex: boolean;
    }, {}>>;
    install(app: App): void;
};
