/// import { EventEmitter } from 'events'; import { CaretPos, RemoteUserCaretPos, Editor, OnlineUsers, BlockElement } from "../../interface"; interface RemoteUserCaretRange { containerId: string; blockId: string; offset: number; userId: string; displayName: string; avatarUrl: string; lastUpdated: number; color: string; selectionColor: string; endBlockId: string; endOffset: number; } export default class RemoteCaretPos { caretPosMap: Map; events: EventEmitter; colors: string[]; selectionColors?: string[]; editor: Editor; constructor(editor: Editor); clear(): void; setCaretPos(userId: string, displayName: string, avatarUrl: string, colorIndex: number, pos: CaretPos, posEnd: CaretPos, keyPressed: boolean): void; getSelectionColor(colorIndex: number): string; on(event: 'remoteCaretPosChanged', callback: (effectBlocks: string[], flashUserId: string | null) => void): void; removeAllListeners(): void; getCaretPosesInBlock(blockId: string): RemoteUserCaretPos[]; updateOnlineUsers(users: OnlineUsers): void; hasRemoteCaret(block: BlockElement): boolean; getRemoteCaretOfBlock(block: BlockElement): RemoteUserCaretRange | null; } export {};