/// /// import React from 'react'; import { ThemeProps } from 'amis-core'; import { LocaleProps } from 'amis-core'; export declare enum ImageActionKey { /** 右旋转 */ ROTATE_RIGHT = "rotateRight", /** 左旋转 */ ROTATE_LEFT = "rotateLeft", /** 等比例放大 */ ZOOM_IN = "zoomIn", /** 等比例缩小 */ ZOOM_OUT = "zoomOut", /** 恢复原图缩放比例尺 */ SCALE_ORIGIN = "scaleOrigin" } export interface ImageAction { key: ImageActionKey; label?: string; icon?: string | React.ReactNode; iconClassName?: string; disabled?: boolean; onClick?: (context: ImageGallery) => void; } export interface ImageGalleryProps extends ThemeProps, LocaleProps { children: React.ReactNode; modalContainer?: () => HTMLElement; /** 操作栏 */ actions?: ImageAction[]; } export interface ImageGalleryState { isOpened: boolean; index: number; items: Array<{ src: string; originalSrc: string; title?: string; caption?: string; }>; /** 图片缩放比例尺 */ scale: number; /** 图片旋转角度 */ rotate: number; /** 是否开启操作栏 */ showToolbar?: boolean; /** 工具栏配置 */ actions?: ImageAction[]; } export declare class ImageGallery extends React.Component { static defaultProps: Pick; state: ImageGalleryState; componentDidMount(): void; componentWillUnmount(): void; onWheelScroll(event: WheelEvent): void; handleImageEnlarge(info: { src: string; originalSrc: string; list?: Array<{ src: string; originalSrc: string; title?: string; caption?: string; }>; title?: string; caption?: string; index?: number; showToolbar?: boolean; toolbarActions?: ImageAction[]; }): void; resetImageAction(): void; close(): void; prev(): void; next(): void; handleItemClick(e: React.MouseEvent): void; handleToolbarAction: import("lodash").DebouncedFuncLeading<(action: ImageAction) => void>; renderToolbar(actions: ImageAction[]): JSX.Element; render(): JSX.Element; } declare const _default: { new (props: Omit & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps> & Readonly<{ children?: import("react").ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: import("react").ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: import("react").Context; ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }>; } & import("hoist-non-react-statics").NonReactStatics & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }, {}> & { ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }; }; export default _default;