import React from 'react'; import { IConfig, SHAPE_TYPE, TOOL_TYPE } from './Config'; import { IBaseFrame, IMessage } from './interface/IFrame'; import { EventEmitter } from './untils/EventMitter'; import { IDGenerator } from './untils/IDGenerator'; import { EMap } from './untils/Map'; export declare interface IEBoardContext { disabled: boolean; allowDocControl: boolean; config: IConfig; activeWbNumber?: string; docPageNumMap: EMap; boardMap: EMap; eventEmitter: EventEmitter; idGenerator: IDGenerator; brushOptions?: any; undoStack: EMap; redoStack: EMap; addBoard: (frame: IBaseFrame, wbNumber: string, pageNum?: number) => void; removeBoard: (wbNumber: string, pageNum?: number) => void; setToolProps: (props: IToolProps) => void; onMessageListener: (message: object) => void; updateActiveWbNumber: (wbNumber: string, pageNum?: number) => void; clearCacheMessage: (wbNumber: string, pageNo?: number) => void; clearAll: (wbNumber: string, pageNo?: number) => void; setCacheData: (json: any, wbNumber: string, pageNo?: number) => void; getActiveBoard: () => IBaseFrame | undefined; hasBoard: (wbNumber: string, pageNum?: number) => boolean; updateVScrollOffset: (vScrollOffset: number, webNumber: string, pageNum?: number) => void; pushUndoStack: (action: any, wbNumber: string, pageNum?: number) => void; getUndoStack: (wbNumber: string, pageNum?: number) => any[]; getRedoStack: (wbNumber: string, pageNum?: number) => any[]; clearUndoRedo: () => void; undo: () => void; redo: () => void; dispatchMessage: (message: IMessage, timestamp: number, animation?: boolean) => Promise<{}>; } export declare enum EventList { Resize = "resize", Clear = "clear", DrawPencil = "drawPencil", DrawText = "drawText", DrawLine = "drawLine", DrawArrow = "drawArrow", DrawCircle = "drawCircle", DrawRect = "drawRect", DrawStar = "drawStar", DrawTriangle = "drawTriangle", Transform = "transform", Scroll = "scroll", Delete = "delete", Ferule = "ferule", ObjectAdd = "object:added", ObjectModify = "object:modified", Undo = "undo", Redo = "redo", ColorChange = "color:change", FontSizeChange = "fontSize:change" } declare interface IToolProps { toolType?: TOOL_TYPE; shapeType?: SHAPE_TYPE; pencilWidth?: number; fontSize?: number; pickedColor?: string; } declare interface IEboardContextProps { onMessageListener: (message: object) => void; disabled?: boolean; allowDocControl?: boolean; } declare class EBoardContext extends React.PureComponent { static Context: React.Context; static Provider: React.ProviderExoticComponent>; static Consumer: React.ExoticComponent>; eventEmitter: EventEmitter; idGenerator: IDGenerator; private imageListMap; constructor(props: IEboardContextProps); getActiveWbNumber(): string; getCurrentPageNum(): number; addEmptyFrame(): void; recover(boardMap: EMap, docPageNumMap: EMap, imageListMap: Map, activeWbNumber: string): void; private redo; private undo; private getUndoStack; private getRedoStack; private clearUndoRedo; private pushUndoStack; private updateVScrollOffset; private hasBoard; private getBoard; private getActiveBoard; static getKey(wbNumber: string, pageNum?: number): string; private setCacheData; private clearCacheMessage; private clearAll; addBoard(frame: IBaseFrame, wbNumber: string, pageNum?: number): void; private removeBoard; updateActiveWbNumber(wbNumber: string, pageNum?: number): void; private setToolProps; dispatchMessage(message: IMessage, timestamp: number, animation?: boolean): Promise<{}>; componentWillReceiveProps(nextProps: Readonly, nextContext: any): void; render(): JSX.Element; } export { EBoardContext };