Skip to content

RemoteParticipant

Defined in: client-sdk-js/src/participant/RemoteParticipant.ts:29

A typed wrapper over Node’s EventEmitter.

Extends EventEmitter with declare overrides so that emit, on, off, etc. are type-safe without introducing circular-reference issues that arise when using typed-emitter directly in extends clauses whose event maps reference the class itself.

Runtime behaviour is 100% EventEmitter; this class adds zero runtime code.

addListener: <E>(event, listener) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:37

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E] : (…args) => void

this

Participant.addListener


attributes: Record<string, string> = {};

Defined in: client-sdk-js/src/participant/Participant.ts:157

Participant.attributes


audioLevel: number = 0;

Defined in: client-sdk-js/src/participant/Participant.ts:156

Participant.audioLevel


audioTrackPublications: Map<string, RemoteTrackPublication>;

Defined in: client-sdk-js/src/participant/Participant.ts:162

Participant.audioTrackPublications


emit: <E>(event, ...args) => boolean;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:17

E extends ParticipantEvent

E

…Parameters<ParticipantEvents<RemoteTrackPublication>[E]>

boolean

Participant.emit


groupId?: string;

Defined in: client-sdk-js/src/participant/Participant.ts:160

The group (breakout room) this participant is currently in. undefined = main room.

Participant.groupId


identity: string;

Defined in: client-sdk-js/src/participant/Participant.ts:151

Participant.identity


isSpeaking: boolean = false;

Defined in: client-sdk-js/src/participant/Participant.ts:155

Participant.isSpeaking


joinedAt?: Date;

Defined in: client-sdk-js/src/participant/Participant.ts:165

Participant.joinedAt


lastSpokeAt?: Date;

Defined in: client-sdk-js/src/participant/Participant.ts:164

Participant.lastSpokeAt


listenerCount: (event) => number;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:57

string | number

number

Participant.listenerCount


listeners: <E>(event) => E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E][] : ((...args) => void)[];

Defined in: client-sdk-js/src/utils/typedEmitter.ts:49

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E][] : ((…args) => void)[]

Participant.listeners


metadata?: string;

Defined in: client-sdk-js/src/participant/Participant.ts:153

Participant.metadata


name?: string;

Defined in: client-sdk-js/src/participant/Participant.ts:152

Participant.name


off: <E>(event, listener) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:32

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E] : (…args) => void

this

Participant.off


on: <E>(event, listener) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:22

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E] : (…args) => void

this

Participant.on


once: <E>(event, listener) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:27

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E] : (…args) => void

this

Participant.once


permissions?: ParticipantPermission;

Defined in: client-sdk-js/src/participant/Participant.ts:158

Participant.permissions


rawListeners: <E>(event) => E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E][] : ((...args) => void)[];

Defined in: client-sdk-js/src/utils/typedEmitter.ts:53

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E][] : ((…args) => void)[]

Participant.rawListeners


removeAllListeners: (event?) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:47

string | number

this

Participant.removeAllListeners


removeListener: <E>(event, listener) => this;

Defined in: client-sdk-js/src/utils/typedEmitter.ts:42

E extends string | number

E

E extends keyof ParticipantEvents<RemoteTrackPublication> ? ParticipantEvents<RemoteTrackPublication>[E] : (…args) => void

this

Participant.removeListener


sid: string;

Defined in: client-sdk-js/src/participant/Participant.ts:150

Participant.sid


state: ParticipantState;

Defined in: client-sdk-js/src/participant/Participant.ts:154

Participant.state


trackPublications: Map<string, RemoteTrackPublication>;

Defined in: client-sdk-js/src/participant/Participant.ts:161

Participant.trackPublications


videoTrackPublications: Map<string, RemoteTrackPublication>;

Defined in: client-sdk-js/src/participant/Participant.ts:163

Participant.videoTrackPublications


static defaultMaxListeners: number;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:5

Participant.defaultMaxListeners

get connectionQuality(): ConnectionQuality;

Defined in: client-sdk-js/src/participant/Participant.ts:217

Current connection quality for this participant.

ConnectionQuality

Participant.connectionQuality


get isActive(): boolean;

Defined in: client-sdk-js/src/participant/Participant.ts:200

Whether the participant is in an active (joined) state.

boolean

Participant.isActive


get isAgent(): boolean;

Defined in: client-sdk-js/src/participant/Participant.ts:195

Whether this participant is an AI agent.

boolean

Participant.isAgent


get isCameraEnabled(): boolean;

Defined in: client-sdk-js/src/participant/Participant.ts:251

Whether the participant has an enabled camera track.

boolean

Participant.isCameraEnabled


get isLocal(): boolean;

Defined in: client-sdk-js/src/participant/RemoteParticipant.ts:53

boolean

Participant.isLocal


get isMicrophoneEnabled(): boolean;

Defined in: client-sdk-js/src/participant/Participant.ts:256

Whether the participant has an enabled microphone track.

boolean

Participant.isMicrophoneEnabled


get isScreenShareEnabled(): boolean;

Defined in: client-sdk-js/src/participant/Participant.ts:261

Whether the participant is sharing their screen.

boolean

Participant.isScreenShareEnabled


get kind(): ParticipantKind;

Defined in: client-sdk-js/src/participant/Participant.ts:190

The kind of participant (Standard, Agent, etc.).

ParticipantKind

Participant.kind

eventNames(): (string | number)[];

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:7

(string | number)[]

Participant.eventNames


getMaxListeners(): number;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:9

number

Participant.getMaxListeners


getTrackPublication(source): RemoteTrackPublication | undefined;

Defined in: client-sdk-js/src/participant/Participant.ts:344

TrackSource

RemoteTrackPublication | undefined

Participant.getTrackPublication


getTrackPublicationByName(name): RemoteTrackPublication | undefined;

Defined in: client-sdk-js/src/participant/Participant.ts:359

Find a track publication by its name.

string

RemoteTrackPublication | undefined

Participant.getTrackPublicationByName


getTrackPublications(): RemoteTrackPublication[];

Defined in: client-sdk-js/src/participant/Participant.ts:268

Returns all track publications as an array.

RemoteTrackPublication[]

Participant.getTrackPublications


getVolume(): number;

Defined in: client-sdk-js/src/participant/RemoteParticipant.ts:88

Get the current output volume for this participant’s audio tracks. Returns the volume of the first audio track, or 1 if none.

number


prependListener(type, listener): this;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:14

string | number

Listener

this

Participant.prependListener


prependOnceListener(type, listener): this;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:15

string | number

Listener

this

Participant.prependOnceListener


setMaxListeners(n): this;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:8

number

this

Participant.setMaxListeners


setVolume(volume): void;

Defined in: client-sdk-js/src/participant/RemoteParticipant.ts:77

Set the output volume for all audio tracks from this participant.

number

Value between 0 and 1.

void


updateFromInfo(info): void;

Defined in: client-sdk-js/src/participant/Participant.ts:272

ParticipantInfo

void

Participant.updateFromInfo


waitUntilActive(): Promise<void>;

Defined in: client-sdk-js/src/participant/Participant.ts:209

Returns a promise that resolves once the participant is active and ready to receive data messages. Rejects if the participant transitions away from the active state first.

Promise<void>

Participant.waitUntilActive


static listenerCount(emitter, type): number;

Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:4

EventEmitter

string | number

number

Participant.listenerCount