import { Mode } from './../../utils/types'; import { SyncEvent } from '../../event/SyncEvent'; import { WhitePage } from '../WhitePage/index'; import { EventHub } from '../../event/EventHub'; import './index.less'; import { WhiteboardSnap } from '../AbstractWhiteboard/snap'; export declare abstract class AbstractWhiteboard { id: string; sources: string[]; target: HTMLDivElement; imgEles: HTMLDivElement[]; imgsContainer: HTMLDivElement; pagesContainer: HTMLDivElement; allowRollback: boolean; autoFit: boolean; onlyEmitSnap: boolean; drawboardMountPoint: 'body' | 'parent'; snapInterval: number; eventHub?: EventHub; mode: Mode; isFullscreen: boolean; pages: WhitePage[]; readonly activePage: WhitePage; readonly pageMap: Record; siema: any; snapHistory: WhiteboardSnap[]; isInitialized: boolean; isSyncing: boolean; visiblePageIndex: number; emitInterval: any; constructor(target: HTMLDivElement, { sources, eventHub, visiblePageIndex, allowRollback, onlyEmitSnap, drawboardMountPoint }?: Partial); open(): void; close(): void; show(): void; hide(): void; emit(borderEvent: SyncEvent): void; captureSnap(shadow?: boolean): WhiteboardSnap; rollbackSnap(): void; destroy(): void; protected abstract init(): void; protected initSiema(): void; protected abstract onPageChange(nextPageIndex: number): void; protected applySnap(snap: WhiteboardSnap): void; }