import EventEmitter, { type EventKey, type EventListener } from './utilities/EventEmitter.js'; import type { SpaceMember } from './types.js'; import type { PresenceMember } from './utilities/types.js'; import type Space from './Space.js'; type LocationsEventMap = { update: { member: SpaceMember; currentLocation: unknown; previousLocation: unknown; }; }; export default class Locations extends EventEmitter { private space; private presenceUpdate; private lastLocationUpdate; constructor(space: Space, presenceUpdate: (update: PresenceMember['data'], extras?: PresenceMember['extras']) => Promise); processPresenceMessage(message: PresenceMember): Promise; set(location: unknown): Promise; subscribe>(listenerOrEvents?: K | K[] | EventListener, listener?: EventListener): void; unsubscribe>(listenerOrEvents?: K | K[] | EventListener, listener?: EventListener): void; getSelf(): Promise; getOthers(): Promise>; getAll(): Promise>; } export {};