import PulsoidBaseSocket from './PulsoidBaseSocket'; import type { PulsoidRoomHeartRate, PulsoidRoomMemberRemoved, PulsoidRoomMemberUpdated, PulsoidRoomSocketEventType, PulsoidRoomSocketOptions, PulsoidRoomUpdated, PulsoidTokenError } from './types'; declare class PulsoidRoomSocket extends PulsoidBaseSocket { private roomId; private kinds; protected get requiredScope(): string; protected get url(): string; protected getEventTypes(): PulsoidRoomSocketEventType[]; protected onMessageHandler(event: MessageEvent): void; private constructor(); static create(token: string, roomId: string, options?: PulsoidRoomSocketOptions): PulsoidRoomSocket; on(eventType: 'heart-rate', callback: (data: PulsoidRoomHeartRate) => void): void; on(eventType: 'room-member-updated', callback: (data: PulsoidRoomMemberUpdated) => void): void; on(eventType: 'room-member-removed', callback: (data: PulsoidRoomMemberRemoved) => void): void; on(eventType: 'room-updated', callback: (data: PulsoidRoomUpdated) => void): void; on(eventType: 'open', callback: (event: Event) => void): void; on(eventType: 'close', callback: (event: CloseEvent) => void): void; on(eventType: 'error', callback: (event: Event) => void): void; on(eventType: 'reconnect', callback: (e: { attempt: number; }) => void): void; on(eventType: 'token-error', callback: (e: PulsoidTokenError) => void): void; off(eventType: 'heart-rate', callback?: (data: PulsoidRoomHeartRate) => void): void; off(eventType: 'room-member-updated', callback?: (data: PulsoidRoomMemberUpdated) => void): void; off(eventType: 'room-member-removed', callback?: (data: PulsoidRoomMemberRemoved) => void): void; off(eventType: 'room-updated', callback?: (data: PulsoidRoomUpdated) => void): void; off(eventType: 'open', callback?: (event: Event) => void): void; off(eventType: 'close', callback?: (event: CloseEvent) => void): void; off(eventType: 'error', callback?: (event: Event) => void): void; off(eventType: 'reconnect', callback?: (e: { attempt: number; }) => void): void; off(eventType: 'token-error', callback?: (e: PulsoidTokenError) => void): void; } export default PulsoidRoomSocket;