UNPKG

@signalwire/realtime-api

Version:
193 lines 9.63 kB
/** * Once we have new interface for Browser SDK; * methods.ts in core should be removed * methods.ts in realtime-api should be moved to core */ import { type VideoMemberEntity, type MemberCommandParams, type VideoPosition, type MediaAllowed, type VideoMeta } from '@signalwire/core'; import { RealTimeRoomPlaybackListeners, RealTimeRoomRecordingListeners, RealTimeRoomStreamListeners } from '../../types'; import { RoomSessionPlayback } from '../RoomSessionPlayback'; import { RoomSessionRecording } from '../RoomSessionRecording'; import { RoomSessionStream } from '../RoomSessionStream'; import { BaseRoomInterface } from '.'; type RoomMethodParams = Record<string, unknown>; interface RoomMethodPropertyDescriptor<OutputType, ParamsType> extends PropertyDescriptor { value: (params: ParamsType) => Promise<OutputType>; } type RoomMethodDescriptor<OutputType = unknown, ParamsType = RoomMethodParams> = RoomMethodPropertyDescriptor<OutputType, ParamsType> & ThisType<BaseRoomInterface>; /** * Type the params for each room member method that uses the provided * memberId or fallback to the instance memberId. Additional params * can be passed as `value` or `volume`. */ interface RoomMemberMethodParams extends Record<string, unknown> { memberId?: string; } /** * Room Methods */ export declare const getLayouts: RoomMethodDescriptor<{ layouts: string[]; }, RoomMethodParams>; export declare const getMembers: RoomMethodDescriptor<{ members: VideoMemberEntity[]; }, RoomMethodParams>; export interface SetLayoutParams { name: string; positions?: Record<string, VideoPosition>; } export declare const setLayout: RoomMethodDescriptor<void, RoomMethodParams>; export interface SetPositionsParams { positions: Record<string, VideoPosition>; } export declare const setPositions: RoomMethodDescriptor<void, RoomMethodParams>; export declare const hideVideoMuted: RoomMethodDescriptor<void, RoomMethodParams>; export declare const showVideoMuted: RoomMethodDescriptor<void, RoomMethodParams>; export declare const lock: RoomMethodDescriptor<void, RoomMethodParams>; export declare const unlock: RoomMethodDescriptor<void, RoomMethodParams>; export declare const setHideVideoMuted: RoomMethodDescriptor<void, boolean>; export interface GetRecordingsOutput { recordings: RoomSessionRecording[]; } export declare const getRecordings: RoomMethodDescriptor<GetRecordingsOutput>; export type StartRecordingParams = { listen?: RealTimeRoomRecordingListeners; }; export declare const startRecording: RoomMethodDescriptor<any>; export interface GetPlaybacksOutput { playbacks: RoomSessionPlayback[]; } export declare const getPlaybacks: RoomMethodDescriptor<GetPlaybacksOutput>; export type PlayParams = { url: string; volume?: number; positions?: Record<string, VideoPosition>; layout?: string; seekPosition?: number; /** * @deprecated Use {@link seekPosition} instead. * `currentTimecode` will be removed in v4.0.0 */ currentTimecode?: number; listen?: RealTimeRoomPlaybackListeners; }; export declare const play: RoomMethodDescriptor<any, PlayParams>; interface GetMetaOutput { meta: VideoMeta; } export declare const getMeta: RoomMethodDescriptor<GetMetaOutput, RoomMethodParams>; export interface SetMetaParams extends Record<string, unknown> { } export declare const setMeta: RoomMethodDescriptor<void, SetMetaParams>; export interface UpdateMetaParams extends Record<string, unknown> { } export declare const updateMeta: RoomMethodDescriptor<void, UpdateMetaParams>; export type DeleteMetaParams = string[]; export declare const deleteMeta: RoomMethodDescriptor<any, DeleteMetaParams>; export interface GetStreamsOutput { streams: RoomSessionStream[]; } export declare const getStreams: RoomMethodDescriptor<GetStreamsOutput>; export interface StartStreamParams { url: string; listen?: RealTimeRoomStreamListeners; } export declare const startStream: RoomMethodDescriptor<any, StartStreamParams>; export declare const setPrioritizeHandraise: RoomMethodDescriptor<any, boolean>; export type GetLayouts = ReturnType<typeof getLayouts.value>; export type GetMembers = ReturnType<typeof getMembers.value>; export type HideVideoMuted = ReturnType<typeof hideVideoMuted.value>; export type ShowVideoMuted = ReturnType<typeof showVideoMuted.value>; export type SetHideVideoMuted = ReturnType<typeof setHideVideoMuted.value>; export type GetRecordings = ReturnType<typeof getRecordings.value>; export type StartRecording = ReturnType<typeof startRecording.value>; export type GetPlaybacks = ReturnType<typeof getPlaybacks.value>; export type Play = ReturnType<typeof play.value>; export type GetMeta = ReturnType<typeof getMeta.value>; export type SetMeta = ReturnType<typeof setMeta.value>; export type UpdateMeta = ReturnType<typeof updateMeta.value>; export type DeleteMeta = ReturnType<typeof deleteMeta.value>; export type GetStreams = ReturnType<typeof getStreams.value>; export type StartStream = ReturnType<typeof startStream.value>; export type Lock = ReturnType<typeof lock.value>; export type Unlock = ReturnType<typeof unlock.value>; export type SetPrioritizeHandraise = ReturnType<typeof setPrioritizeHandraise.value>; /** * Room Member Methods */ export declare const audioMuteMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const audioUnmuteMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const videoMuteMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const videoUnmuteMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const deafMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const undeafMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const setDeaf: RoomMethodDescriptor<void, boolean>; export declare const setInputVolumeMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const setOutputVolumeMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const setInputSensitivityMember: RoomMethodDescriptor<void, RoomMemberMethodParams>; interface PromoteDemoteMemberParams extends Required<MemberCommandParams> { mediaAllowed?: MediaAllowed; } export interface PromoteMemberParams extends PromoteDemoteMemberParams { permissions?: string[]; meta?: VideoMeta; joinAudioMuted?: boolean; joinVideoMuted?: boolean; } export declare const promote: RoomMethodDescriptor<void, PromoteMemberParams>; export interface DemoteMemberParams extends PromoteDemoteMemberParams { } export declare const demote: RoomMethodDescriptor<void, DemoteMemberParams>; export interface SetMemberPositionParams extends MemberCommandParams { position: VideoPosition; } export declare const setMemberPosition: RoomMethodDescriptor<void, RoomMemberMethodParams>; export declare const removeMember: RoomMethodDescriptor<void, Required<RoomMemberMethodParams>>; export declare const removeAllMembers: RoomMethodDescriptor<void, void>; interface GetMemberMetaOutput { meta: VideoMeta; } export declare const getMemberMeta: RoomMethodDescriptor<GetMemberMetaOutput, RoomMemberMethodParams>; export interface SetMemberMetaParams extends MemberCommandParams { meta: VideoMeta; } export declare const setMemberMeta: RoomMethodDescriptor<void, RoomMemberMethodParams>; export interface UpdateMemberMetaParams extends MemberCommandParams { meta: VideoMeta; } export declare const updateMemberMeta: RoomMethodDescriptor<void, RoomMemberMethodParams>; export interface DeleteMemberMetaParams extends MemberCommandParams { keys: string[]; } export declare const deleteMemberMeta: RoomMethodDescriptor<void, RoomMemberMethodParams>; export interface SetRaisedHandRoomParams { memberId: string; raised?: boolean; } export interface SetRaisedHandMemberParams { raised?: boolean; } export declare const setRaisedHand: RoomMethodDescriptor<void, SetRaisedHandRoomParams | SetRaisedHandMemberParams>; export type AudioMuteMember = ReturnType<typeof audioMuteMember.value>; export type AudioUnmuteMember = ReturnType<typeof audioUnmuteMember.value>; export type VideoMuteMember = ReturnType<typeof videoMuteMember.value>; export type VideoUnmuteMember = ReturnType<typeof videoUnmuteMember.value>; export type DeafMember = ReturnType<typeof deafMember.value>; export type UndeafMember = ReturnType<typeof undeafMember.value>; export type SetDeaf = ReturnType<typeof setDeaf.value>; export type SetLayout = ReturnType<typeof setLayout.value>; export type SetPositions = ReturnType<typeof setPositions.value>; export type SetInputVolumeMember = ReturnType<typeof setInputVolumeMember.value>; export type SetOutputVolumeMember = ReturnType<typeof setOutputVolumeMember.value>; export type SetInputSensitivityMember = ReturnType<typeof setInputSensitivityMember.value>; export type SetMemberPosition = ReturnType<typeof setMemberPosition.value>; export type RemoveMember = ReturnType<typeof removeMember.value>; export type RemoveAllMembers = ReturnType<typeof removeAllMembers.value>; export type GetMemberMeta = ReturnType<typeof getMemberMeta.value>; export type SetMemberMeta = ReturnType<typeof setMemberMeta.value>; export type UpdateMemberMeta = ReturnType<typeof updateMemberMeta.value>; export type DeleteMemberMeta = ReturnType<typeof deleteMemberMeta.value>; export type PromoteMember = ReturnType<typeof promote.value>; export type DemoteMember = ReturnType<typeof demote.value>; export type SetRaisedHand = ReturnType<typeof setRaisedHand.value>; export {}; //# sourceMappingURL=methods.d.ts.map