@signalwire/core
Version:
Shared code for the SignalWire JS SDK
179 lines • 9.14 kB
TypeScript
import { type BaseRoomInterface, type RoomSessionRecording, type RoomSessionPlayback, type RoomSessionStream } from '.';
import type { VideoMemberEntity, MemberCommandParams, VideoPosition } from '../types';
import type { MediaAllowed, VideoMeta } from '../utils/interfaces';
export 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<string>>;
/**
* 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`.
*/
export 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 declare const startRecording: RoomMethodDescriptor<RoomSessionRecording>;
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;
};
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;
}
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 extends MemberCommandParams {
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