import EventBus from '../../utils/EventBus'; import React from 'react'; import { ImageProps } from '../Image/type'; export interface ProImageCommonProps { backdropOpacity?: number; defaultIndex?: number; } export interface ProImageProps extends Omit, Pick, Omit { intro?: string; } export interface ProImageItem extends Pick { src: string; intro?: string; key: React.Key; getElement?: () => HTMLElement; } export interface ProImageSliderProps extends Pick, ProImageCommonProps { proImageItems: ProImageItem[]; currentIndex?: number; defaultIndex?: number; visible?: boolean; esc?: boolean; onClose?(): void; onIndexChange?(index: number): void; } export interface ProImageContextProps extends Pick { addImage(item: ProImageItem): void; removeImage(key: string): void; onShow(key: string): void; } export interface ProImageGroupProps extends Pick, ProImageCommonProps { children: React.ReactNode; } export declare enum ProImageAnimation { OPEN = 0, CLOSE = 1, NONE = 2 } export interface ProImageSliderItemProps extends Pick { proImageItem: ProImageItem; animation: ProImageAnimation; active: boolean; style?: React.CSSProperties; className?: string; eventBus: ReturnType>; onResize(): void; onClick(): void; onMouseUp(touchIntent: TouchIntent, clientX: number, clientY: number): void; onMove(touchIntent: TouchIntent, clientX: number, clientY: number): void; } export interface PhotoProps extends React.HTMLAttributes { src: string; loaded: boolean; error: boolean; width: number; height: number; pending: boolean; onLoad(evt: any): void; onError(): void; loadingElement?: JSX.Element; errorElement?: JSX.Element; } export declare enum TouchIntent { NONE = 0, X_SLIDE = 1, Y_MOVE = 2, SCALE_MOVE = 3 } export declare enum ScalePhotoTouchEdgeState { TOP_LEFT = 0, BOTTOM_RIGHT = 1, NOT_TOUCH = 2 } export declare enum ProImageSlideEventKey { ROTATE_CHANGE = 0, SCALE_CHANGE = 1 } export interface ProImageSliderEvent { [ProImageSlideEventKey.ROTATE_CHANGE]: number | undefined; [ProImageSlideEventKey.SCALE_CHANGE]: number | undefined; }