import Space from './Space.js'; import EventEmitter, { type EventKey, type EventListener } from './utilities/EventEmitter.js'; import type { CursorsOptions, CursorUpdate } from './types.js'; type CursorsEventMap = { update: CursorUpdate; }; export default class Cursors extends EventEmitter { private space; private readonly cursorBatching; private readonly cursorDispensing; private readonly cursorHistory; private channel?; readonly options: CursorsOptions; constructor(space: Space); /** * Schedules a cursor update event to be sent that will cause the following events to fire * * @param {CursorUpdate} cursor * @return {void} */ set(cursor: Pick): Promise; private getChannel; private initializeCursorsChannel; private onPresenceUpdate; private isUnsubscribed; private emitterHasListeners; subscribe>(listenerOrEvents?: K | K[] | EventListener, listener?: EventListener): void; unsubscribe>(listenerOrEvents?: K | K[] | EventListener, listener?: EventListener): void; getSelf(): Promise; getOthers(): Promise>; getAll(): Promise<{ [x: string]: CursorUpdate | null; }>; } export {};