tdesign-vue
Version:
671 lines (670 loc) • 29.8 kB
TypeScript
import { TdImageViewerProps } from './type';
import './style';
export * from './type';
export declare type ImageViewerProps = TdImageViewerProps;
export declare const ImageViewer: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
rootClass: import("@vue/composition-api").ComputedRef<string[]>;
classPrefix: import("@vue/composition-api").ComputedRef<string>;
prevImage: () => void;
nextImage: () => void;
zIndexValue: import("@vue/composition-api").ComputedRef<number>;
visibleValue: import("@vue/composition-api").Ref<boolean>;
indexValue: import("@vue/composition-api").Ref<number>;
imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
wrapClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
rotate: import("@vue/composition-api").Ref<number>;
mirror: import("@vue/composition-api").Ref<number>;
currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
onRotate: () => void;
onZoomIn: () => void;
onZoomOut: () => void;
onMirror: () => void;
onRest: () => void;
onDownloadClick: (url: string) => void;
openHandler: (index: number) => void;
onCloseHandle: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
onWheel: (e: WheelEvent) => void;
clickOverlayHandler: (e: MouseEvent) => void;
headerClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
toggleExpand: () => void;
transStyle: import("@vue/composition-api").ComputedRef<object>;
onImgClick: (i: number) => void;
closeBtnAction: (e: MouseEvent) => void;
scale: import("@vue/composition-api").Ref<number>;
isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
containerRef: import("@vue/composition-api").Ref<any>;
keydownHandler: (e: KeyboardEvent) => void;
divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
globalConfig: import("@vue/composition-api").ComputedRef<import("..").ImageViewerConfig | ({
readonly errorText: "图片加载失败,可尝试重新加载";
readonly mirrorTipText: "镜像";
readonly rotateTipText: "旋转";
readonly originalSizeTipText: "原始大小";
} & import("..").ImageViewerConfig)>;
}> & import("@vue/composition-api").Data, {
renderHeader(): JSX.Element;
renderNavigationArrow(type: "next" | "prev"): JSX.Element;
renderModal(): JSX.Element;
renderCloseBtn(): JSX.Element;
renderViewer(): JSX.Element;
}, {}, {
attach: {
type: import("vue").PropType<import("..").AttachNode>;
default: string;
};
closeBtn: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
closeOnEscKeydown: {
type: BooleanConstructor;
default: boolean;
};
closeOnOverlay: BooleanConstructor;
draggable: {
type: BooleanConstructor;
default: any;
};
imageReferrerpolicy: {
type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
};
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: number;
};
defaultIndex: {
type: NumberConstructor;
default: number;
};
mode: {
type: import("vue").PropType<"modal" | "modeless">;
default: "modal" | "modeless";
validator(val: "modal" | "modeless"): boolean;
};
navigationArrow: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
showOverlay: {
type: BooleanConstructor;
default: any;
};
title: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
trigger: {
type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
viewerScale: {
type: import("vue").PropType<import("./type").ImageViewerScale>;
};
visible: BooleanConstructor;
defaultVisible: BooleanConstructor;
zIndex: {
type: NumberConstructor;
};
onClose: import("vue").PropType<(context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void>;
onDownload: import("vue").PropType<(url: string) => void>;
onIndexChange: import("vue").PropType<(index: number, context: {
trigger: "next" | "prev" | "current";
}) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
attach: {
type: import("vue").PropType<import("..").AttachNode>;
default: string;
};
closeBtn: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
closeOnEscKeydown: {
type: BooleanConstructor;
default: boolean;
};
closeOnOverlay: BooleanConstructor;
draggable: {
type: BooleanConstructor;
default: any;
};
imageReferrerpolicy: {
type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
};
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: number;
};
defaultIndex: {
type: NumberConstructor;
default: number;
};
mode: {
type: import("vue").PropType<"modal" | "modeless">;
default: "modal" | "modeless";
validator(val: "modal" | "modeless"): boolean;
};
navigationArrow: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
showOverlay: {
type: BooleanConstructor;
default: any;
};
title: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
trigger: {
type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
viewerScale: {
type: import("vue").PropType<import("./type").ImageViewerScale>;
};
visible: BooleanConstructor;
defaultVisible: BooleanConstructor;
zIndex: {
type: NumberConstructor;
};
onClose: import("vue").PropType<(context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void>;
onDownload: import("vue").PropType<(url: string) => void>;
onIndexChange: import("vue").PropType<(index: number, context: {
trigger: "next" | "prev" | "current";
}) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
} & {
zIndex?: number;
title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onClose?: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue);
imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
imageScale?: import("./type").ImageScale;
viewerScale?: import("./type").ImageViewerScale;
onDownload?: (url: string) => void;
onIndexChange?: (index: number, context: {
trigger: "next" | "prev" | "current";
}) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
rootClass: import("@vue/composition-api").ComputedRef<string[]>;
classPrefix: import("@vue/composition-api").ComputedRef<string>;
prevImage: () => void;
nextImage: () => void;
zIndexValue: import("@vue/composition-api").ComputedRef<number>;
visibleValue: import("@vue/composition-api").Ref<boolean>;
indexValue: import("@vue/composition-api").Ref<number>;
imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
wrapClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
rotate: import("@vue/composition-api").Ref<number>;
mirror: import("@vue/composition-api").Ref<number>;
currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
onRotate: () => void;
onZoomIn: () => void;
onZoomOut: () => void;
onMirror: () => void;
onRest: () => void;
onDownloadClick: (url: string) => void;
openHandler: (index: number) => void;
onCloseHandle: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
onWheel: (e: WheelEvent) => void;
clickOverlayHandler: (e: MouseEvent) => void;
headerClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
toggleExpand: () => void;
transStyle: import("@vue/composition-api").ComputedRef<object>;
onImgClick: (i: number) => void;
closeBtnAction: (e: MouseEvent) => void;
scale: import("@vue/composition-api").Ref<number>;
isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
containerRef: import("@vue/composition-api").Ref<any>;
keydownHandler: (e: KeyboardEvent) => void;
divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
globalConfig: import("@vue/composition-api").ComputedRef<import("..").ImageViewerConfig | ({
readonly errorText: "图片加载失败,可尝试重新加载";
readonly mirrorTipText: "镜像";
readonly rotateTipText: "旋转";
readonly originalSizeTipText: "原始大小";
} & import("..").ImageViewerConfig)>;
}>, import("@vue/composition-api").Data, {}, {
renderHeader(): JSX.Element;
renderNavigationArrow(type: "next" | "prev"): JSX.Element;
renderModal(): JSX.Element;
renderCloseBtn(): JSX.Element;
renderViewer(): JSX.Element;
}, {}, {}, {}, {
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
} & {
zIndex?: number;
title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onClose?: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue);
imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
imageScale?: import("./type").ImageScale;
viewerScale?: import("./type").ImageViewerScale;
onDownload?: (url: string) => void;
onIndexChange?: (index: number, context: {
trigger: "next" | "prev" | "current";
}) => void;
}, {
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
rootClass: import("@vue/composition-api").ComputedRef<string[]>;
classPrefix: import("@vue/composition-api").ComputedRef<string>;
prevImage: () => void;
nextImage: () => void;
zIndexValue: import("@vue/composition-api").ComputedRef<number>;
visibleValue: import("@vue/composition-api").Ref<boolean>;
indexValue: import("@vue/composition-api").Ref<number>;
imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
wrapClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
rotate: import("@vue/composition-api").Ref<number>;
mirror: import("@vue/composition-api").Ref<number>;
currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
onRotate: () => void;
onZoomIn: () => void;
onZoomOut: () => void;
onMirror: () => void;
onRest: () => void;
onDownloadClick: (url: string) => void;
openHandler: (index: number) => void;
onCloseHandle: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
onWheel: (e: WheelEvent) => void;
clickOverlayHandler: (e: MouseEvent) => void;
headerClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
toggleExpand: () => void;
transStyle: import("@vue/composition-api").ComputedRef<object>;
onImgClick: (i: number) => void;
closeBtnAction: (e: MouseEvent) => void;
scale: import("@vue/composition-api").Ref<number>;
isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
containerRef: import("@vue/composition-api").Ref<any>;
keydownHandler: (e: KeyboardEvent) => void;
divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
globalConfig: import("@vue/composition-api").ComputedRef<import("..").ImageViewerConfig | ({
readonly errorText: "图片加载失败,可尝试重新加载";
readonly mirrorTipText: "镜像";
readonly rotateTipText: "旋转";
readonly originalSizeTipText: "原始大小";
} & import("..").ImageViewerConfig)>;
}> & import("@vue/composition-api").Data, {
renderHeader(): JSX.Element;
renderNavigationArrow(type: "next" | "prev"): JSX.Element;
renderModal(): JSX.Element;
renderCloseBtn(): JSX.Element;
renderViewer(): JSX.Element;
}, {}, {
attach: {
type: import("vue").PropType<import("..").AttachNode>;
default: string;
};
closeBtn: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
closeOnEscKeydown: {
type: BooleanConstructor;
default: boolean;
};
closeOnOverlay: BooleanConstructor;
draggable: {
type: BooleanConstructor;
default: any;
};
imageReferrerpolicy: {
type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
};
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: number;
};
defaultIndex: {
type: NumberConstructor;
default: number;
};
mode: {
type: import("vue").PropType<"modal" | "modeless">;
default: "modal" | "modeless";
validator(val: "modal" | "modeless"): boolean;
};
navigationArrow: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
showOverlay: {
type: BooleanConstructor;
default: any;
};
title: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
trigger: {
type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
viewerScale: {
type: import("vue").PropType<import("./type").ImageViewerScale>;
};
visible: BooleanConstructor;
defaultVisible: BooleanConstructor;
zIndex: {
type: NumberConstructor;
};
onClose: import("vue").PropType<(context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void>;
onDownload: import("vue").PropType<(url: string) => void>;
onIndexChange: import("vue").PropType<(index: number, context: {
trigger: "next" | "prev" | "current";
}) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
attach: {
type: import("vue").PropType<import("..").AttachNode>;
default: string;
};
closeBtn: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
closeOnEscKeydown: {
type: BooleanConstructor;
default: boolean;
};
closeOnOverlay: BooleanConstructor;
draggable: {
type: BooleanConstructor;
default: any;
};
imageReferrerpolicy: {
type: import("vue").PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
validator(val: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"): boolean;
};
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: number;
};
defaultIndex: {
type: NumberConstructor;
default: number;
};
mode: {
type: import("vue").PropType<"modal" | "modeless">;
default: "modal" | "modeless";
validator(val: "modal" | "modeless"): boolean;
};
navigationArrow: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: boolean;
};
showOverlay: {
type: BooleanConstructor;
default: any;
};
title: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
trigger: {
type: import("vue").PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
viewerScale: {
type: import("vue").PropType<import("./type").ImageViewerScale>;
};
visible: BooleanConstructor;
defaultVisible: BooleanConstructor;
zIndex: {
type: NumberConstructor;
};
onClose: import("vue").PropType<(context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void>;
onDownload: import("vue").PropType<(url: string) => void>;
onIndexChange: import("vue").PropType<(index: number, context: {
trigger: "next" | "prev" | "current";
}) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
} & {
zIndex?: number;
title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onClose?: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue);
imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
imageScale?: import("./type").ImageScale;
viewerScale?: import("./type").ImageViewerScale;
onDownload?: (url: string) => void;
onIndexChange?: (index: number, context: {
trigger: "next" | "prev" | "current";
}) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
COMPONENT_NAME: import("@vue/composition-api").ComputedRef<string>;
rootClass: import("@vue/composition-api").ComputedRef<string[]>;
classPrefix: import("@vue/composition-api").ComputedRef<string>;
prevImage: () => void;
nextImage: () => void;
zIndexValue: import("@vue/composition-api").ComputedRef<number>;
visibleValue: import("@vue/composition-api").Ref<boolean>;
indexValue: import("@vue/composition-api").Ref<number>;
imagesList: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo[]>;
showOverlayValue: import("@vue/composition-api").ComputedRef<boolean>;
wrapClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
rotate: import("@vue/composition-api").Ref<number>;
mirror: import("@vue/composition-api").Ref<number>;
currentImage: import("@vue/composition-api").ComputedRef<import("./type").ImageInfo>;
onRotate: () => void;
onZoomIn: () => void;
onZoomOut: () => void;
onMirror: () => void;
onRest: () => void;
onDownloadClick: (url: string) => void;
openHandler: (index: number) => void;
onCloseHandle: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
onWheel: (e: WheelEvent) => void;
clickOverlayHandler: (e: MouseEvent) => void;
headerClass: import("@vue/composition-api").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
toggleExpand: () => void;
transStyle: import("@vue/composition-api").ComputedRef<object>;
onImgClick: (i: number) => void;
closeBtnAction: (e: MouseEvent) => void;
scale: import("@vue/composition-api").Ref<number>;
isMultipleImg: import("@vue/composition-api").ComputedRef<boolean>;
containerRef: import("@vue/composition-api").Ref<any>;
keydownHandler: (e: KeyboardEvent) => void;
divRef: import("@vue/composition-api").Ref<HTMLDivElement>;
globalConfig: import("@vue/composition-api").ComputedRef<import("..").ImageViewerConfig | ({
readonly errorText: "图片加载失败,可尝试重新加载";
readonly mirrorTipText: "镜像";
readonly rotateTipText: "旋转";
readonly originalSizeTipText: "原始大小";
} & import("..").ImageViewerConfig)>;
}>, import("@vue/composition-api").Data, {}, {
renderHeader(): JSX.Element;
renderNavigationArrow(type: "next" | "prev"): JSX.Element;
renderModal(): JSX.Element;
renderCloseBtn(): JSX.Element;
renderViewer(): JSX.Element;
}, {}, {}, {}, {
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
} & {
zIndex?: number;
title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onClose?: (context: {
trigger: "overlay" | "close-btn" | "esc";
e: MouseEvent | KeyboardEvent;
}) => void;
trigger?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: {
open: () => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue);
imageReferrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
imageScale?: import("./type").ImageScale;
viewerScale?: import("./type").ImageViewerScale;
onDownload?: (url: string) => void;
onIndexChange?: (index: number, context: {
trigger: "next" | "prev" | "current";
}) => void;
}, {
index: number;
visible: boolean;
draggable: boolean;
attach: import("..").AttachNode;
defaultVisible: boolean;
showOverlay: boolean;
mode: "modal" | "modeless";
closeBtn: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
images: (string | File | import("./type").ImageInfo)[];
navigationArrow: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
closeOnEscKeydown: boolean;
closeOnOverlay: boolean;
defaultIndex: number;
}, true>)>;
export default ImageViewer;