UNPKG

@signalwire/realtime-api

Version:
54 lines 2.66 kB
import { VideoRoomEventParams, Optional } from '@signalwire/core'; import { RealTimeRoomEvents, RealTimeRoomListeners, RealtimeRoomListenersEventsMapping, VideoRoomSessionContract } from '../types'; import { RoomSessionMember } from './RoomSessionMember'; import { BaseVideo } from './BaseVideo'; import { Video } from './Video'; export interface RoomSessionFullState extends Omit<RoomSession, 'members'> { /** List of members that are part of this room session */ members?: RoomSessionMember[]; } export interface RoomSession extends VideoRoomSessionContract, BaseVideo<RealTimeRoomListeners, RealTimeRoomEvents> { /** * Returns a list of members currently in the room. * * @example * ```typescript * await room.getMembers() * ``` */ getMembers(): Promise<{ members: RoomSessionMember[]; }>; /** @internal */ setPayload(payload: Optional<VideoRoomEventParams, 'room'>): void; } type RoomSessionPayload = Optional<VideoRoomEventParams, 'room'>; export interface RoomSessionOptions { video: Video; payload: RoomSessionPayload; } export declare class RoomSession extends BaseVideo<RealTimeRoomListeners, RealTimeRoomEvents> { private _payload; protected _eventMap: RealtimeRoomListenersEventsMapping; constructor(options: RoomSessionOptions); get id(): string; get roomSessionId(): string; get roomId(): string; get name(): string; get displayName(): string; get hideVideoMuted(): boolean; get layoutName(): string; get meta(): Record<string, unknown> | undefined; get previewUrl(): string | undefined; get recording(): boolean; get streaming(): boolean; get locked(): boolean; get eventChannel(): string; get prioritizeHandraise(): boolean; get updated(): VideoRoomSessionContract["updated"]; /** @internal */ protected getSubscriptions(): ("room.started" | "room.ended" | "room.subscribed" | "room.updated" | "member.joined" | "member.left" | "member.updated" | "layout.changed" | "recording.started" | "recording.updated" | "recording.ended" | "playback.started" | "playback.updated" | "playback.ended" | "stream.started" | "stream.ended" | "member.updated.deaf" | "member.updated.visible" | "member.updated.audioMuted" | "member.updated.videoMuted" | "member.updated.inputVolume" | "member.updated.outputVolume" | "member.updated.inputSensitivity" | import("@signalwire/core").MemberTalkingEventNames | "memberList.updated" | "room.audienceCount")[]; } export declare const RoomSessionAPI: import("@signalwire/core").ConstructableType<RoomSession>; export {}; //# sourceMappingURL=RoomSession.d.ts.map