import { ElImageViewerInstance } from '../ele-app/el';

declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: BooleanConstructor;
    customClass: StringConstructor;
    customStyle: ObjectConstructor;
    transitionName: {
        type: StringConstructor;
        default: string;
    };
    keepAlive: BooleanConstructor;
    urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
    zIndex: {
        readonly type: import('vue').PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    hideOnClickModal: BooleanConstructor;
    closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
    minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
    maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
    crossorigin: {
        readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>, {
    imageViewerRef: import('vue').Ref<ElImageViewerInstance, ElImageViewerInstance>;
    viewerProps: import('vue').ComputedRef<import('../ele-app/types').Mutable<Omit<import('@vue/shared').LooseRequired<Readonly<import('vue').ExtractPropTypes<{
        teleported: {
            type: BooleanConstructor;
            default: boolean;
        };
        modelValue: BooleanConstructor;
        customClass: StringConstructor;
        customStyle: ObjectConstructor;
        transitionName: {
            type: StringConstructor;
            default: string;
        };
        keepAlive: BooleanConstructor;
        urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
        zIndex: {
            readonly type: import('vue').PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
        infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        hideOnClickModal: BooleanConstructor;
        closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
        minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
        maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
        crossorigin: {
            readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & Readonly<{
        onClose?: (() => any) | undefined;
        "onUpdate:modelValue"?: ((_value?: boolean | undefined) => any) | undefined;
        onSwitch?: ((_index: number) => any) | undefined;
        onRotate?: ((_deg: number) => any) | undefined;
    }> & {}>, "modelValue" | "customClass" | "customStyle" | "transitionName" | "keepAlive">>>;
    handleClose: () => void;
    handleSwitch: (index: number) => void;
    handleRotate: (deg: number) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    'update:modelValue': (_value?: boolean) => boolean;
    close: () => boolean;
    switch: (_index: number) => boolean;
    rotate: (_deg: number) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: BooleanConstructor;
    customClass: StringConstructor;
    customStyle: ObjectConstructor;
    transitionName: {
        type: StringConstructor;
        default: string;
    };
    keepAlive: BooleanConstructor;
    urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
    zIndex: {
        readonly type: import('vue').PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    hideOnClickModal: BooleanConstructor;
    closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
    minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
    maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
    crossorigin: {
        readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>> & Readonly<{
    onClose?: (() => any) | undefined;
    "onUpdate:modelValue"?: ((_value?: boolean | undefined) => any) | undefined;
    onSwitch?: ((_index: number) => any) | undefined;
    onRotate?: ((_deg: number) => any) | undefined;
}>, {
    modelValue: boolean;
    teleported: boolean;
    closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
    hideOnClickModal: boolean;
    initialIndex: number;
    infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
    zoomRate: number;
    minScale: number;
    maxScale: number;
    urlList: string[];
    transitionName: string;
    keepAlive: boolean;
}, {}, {
    ElImageViewer: import('element-plus/es/utils/index').SFCWithInstall<{
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            readonly urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly zIndex: {
                readonly type: import('vue').PropType<number>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
            readonly infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly hideOnClickModal: BooleanConstructor;
            readonly teleported: BooleanConstructor;
            readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
            readonly minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
            readonly maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
            readonly crossorigin: {
                readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>> & {
            onClose?: (() => any) | undefined;
            onSwitch?: ((index: number) => any) | undefined;
            onRotate?: ((deg: number) => any) | undefined;
        }, {
            setActiveItem: (index: number) => void;
        }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            switch: (index: number) => void;
            rotate: (deg: number) => void;
            close: () => void;
        }, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
            readonly infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly teleported: boolean;
            readonly initialIndex: number;
            readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly urlList: string[];
            readonly zoomRate: number;
            readonly minScale: number;
            readonly maxScale: number;
            readonly hideOnClickModal: boolean;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            readonly urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly zIndex: {
                readonly type: import('vue').PropType<number>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
            readonly infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly hideOnClickModal: BooleanConstructor;
            readonly teleported: BooleanConstructor;
            readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
            readonly minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
            readonly maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
            readonly crossorigin: {
                readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>> & {
            onClose?: (() => any) | undefined;
            onSwitch?: ((index: number) => any) | undefined;
            onRotate?: ((deg: number) => any) | undefined;
        }, {
            setActiveItem: (index: number) => void;
        }, {}, {}, {}, {
            readonly infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly teleported: boolean;
            readonly initialIndex: number;
            readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly urlList: string[];
            readonly zoomRate: number;
            readonly minScale: number;
            readonly maxScale: number;
            readonly hideOnClickModal: boolean;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        readonly urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
        readonly zIndex: {
            readonly type: import('vue').PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
        readonly infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly hideOnClickModal: BooleanConstructor;
        readonly teleported: BooleanConstructor;
        readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
        readonly minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
        readonly maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
        readonly crossorigin: {
            readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & {
        onClose?: (() => any) | undefined;
        onSwitch?: ((index: number) => any) | undefined;
        onRotate?: ((deg: number) => any) | undefined;
    }, {
        setActiveItem: (index: number) => void;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        switch: (index: number) => void;
        rotate: (deg: number) => void;
        close: () => void;
    }, string, {
        readonly infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly teleported: boolean;
        readonly initialIndex: number;
        readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly urlList: string[];
        readonly zoomRate: number;
        readonly minScale: number;
        readonly maxScale: number;
        readonly hideOnClickModal: boolean;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            default?(_: {}): any;
        };
    })>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
