Participant
Defined in: client-sdk-js/src/participant/Participant.ts:147
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.
Extends
Section titled “Extends”TypedEmitter<ParticipantEvents<TPublication>>
Extended by
Section titled “Extended by”Type Parameters
Section titled “Type Parameters”TPublication
Section titled “TPublication”TPublication extends TrackPublication = TrackPublication
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Participant<TPublication>( sid, identity, name?, metadata?): Participant<TPublication>;Defined in: client-sdk-js/src/participant/Participant.ts:178
Parameters
Section titled “Parameters”string
identity
Section titled “identity”string
string
metadata?
Section titled “metadata?”string
Returns
Section titled “Returns”Participant<TPublication>
Overrides
Section titled “Overrides”Properties
Section titled “Properties”addListener
Section titled “addListener”addListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:37
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”attributes
Section titled “attributes”attributes: Record<string, string> = {};Defined in: client-sdk-js/src/participant/Participant.ts:157
audioLevel
Section titled “audioLevel”audioLevel: number = 0;Defined in: client-sdk-js/src/participant/Participant.ts:156
audioTrackPublications
Section titled “audioTrackPublications”audioTrackPublications: Map<string, TPublication>;Defined in: client-sdk-js/src/participant/Participant.ts:162
emit: <E>(event, ...args) => boolean;Defined in: client-sdk-js/src/utils/typedEmitter.ts:17
Type Parameters
Section titled “Type Parameters”E extends ParticipantEvent
Parameters
Section titled “Parameters”E
…Parameters<ParticipantEvents<TPublication>[E]>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”groupId?
Section titled “groupId?”groupId?: string;Defined in: client-sdk-js/src/participant/Participant.ts:160
The group (breakout room) this participant is currently in. undefined = main room.
identity
Section titled “identity”identity: string;Defined in: client-sdk-js/src/participant/Participant.ts:151
isSpeaking
Section titled “isSpeaking”isSpeaking: boolean = false;Defined in: client-sdk-js/src/participant/Participant.ts:155
joinedAt?
Section titled “joinedAt?”joinedAt?: Date;Defined in: client-sdk-js/src/participant/Participant.ts:165
lastSpokeAt?
Section titled “lastSpokeAt?”lastSpokeAt?: Date;Defined in: client-sdk-js/src/participant/Participant.ts:164
listenerCount
Section titled “listenerCount”listenerCount: (event) => number;Defined in: client-sdk-js/src/utils/typedEmitter.ts:57
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”listeners
Section titled “listeners”listeners: <E>(event) => E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:49
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”metadata?
Section titled “metadata?”metadata?: string;Defined in: client-sdk-js/src/participant/Participant.ts:153
name?: string;Defined in: client-sdk-js/src/participant/Participant.ts:152
off: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:32
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”on: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:22
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”once: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:27
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”permissions?
Section titled “permissions?”permissions?: ParticipantPermission;Defined in: client-sdk-js/src/participant/Participant.ts:158
rawListeners
Section titled “rawListeners”rawListeners: <E>(event) => E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:53
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”removeAllListeners
Section titled “removeAllListeners”removeAllListeners: (event?) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:47
Parameters
Section titled “Parameters”event?
Section titled “event?”string | number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”TypedEmitter.removeAllListeners
removeListener
Section titled “removeListener”removeListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:42
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof ParticipantEvents<TPublication> ? ParticipantEvents<TPublication>[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”sid: string;Defined in: client-sdk-js/src/participant/Participant.ts:150
state: ParticipantState;Defined in: client-sdk-js/src/participant/Participant.ts:154
trackPublications
Section titled “trackPublications”trackPublications: Map<string, TPublication>;Defined in: client-sdk-js/src/participant/Participant.ts:161
videoTrackPublications
Section titled “videoTrackPublications”videoTrackPublications: Map<string, TPublication>;Defined in: client-sdk-js/src/participant/Participant.ts:163
defaultMaxListeners
Section titled “defaultMaxListeners”static defaultMaxListeners: number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:5
Inherited from
Section titled “Inherited from”TypedEmitter.defaultMaxListeners
Accessors
Section titled “Accessors”connectionQuality
Section titled “connectionQuality”Get Signature
Section titled “Get Signature”get connectionQuality(): ConnectionQuality;Defined in: client-sdk-js/src/participant/Participant.ts:217
Current connection quality for this participant.
Returns
Section titled “Returns”isActive
Section titled “isActive”Get Signature
Section titled “Get Signature”get isActive(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:200
Whether the participant is in an active (joined) state.
Returns
Section titled “Returns”boolean
isAgent
Section titled “isAgent”Get Signature
Section titled “Get Signature”get isAgent(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:195
Whether this participant is an AI agent.
Returns
Section titled “Returns”boolean
isCameraEnabled
Section titled “isCameraEnabled”Get Signature
Section titled “Get Signature”get isCameraEnabled(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:251
Whether the participant has an enabled camera track.
Returns
Section titled “Returns”boolean
isLocal
Section titled “isLocal”Get Signature
Section titled “Get Signature”get abstract isLocal(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:187
Returns
Section titled “Returns”boolean
isMicrophoneEnabled
Section titled “isMicrophoneEnabled”Get Signature
Section titled “Get Signature”get isMicrophoneEnabled(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:256
Whether the participant has an enabled microphone track.
Returns
Section titled “Returns”boolean
isScreenShareEnabled
Section titled “isScreenShareEnabled”Get Signature
Section titled “Get Signature”get isScreenShareEnabled(): boolean;Defined in: client-sdk-js/src/participant/Participant.ts:261
Whether the participant is sharing their screen.
Returns
Section titled “Returns”boolean
Get Signature
Section titled “Get Signature”get kind(): ParticipantKind;Defined in: client-sdk-js/src/participant/Participant.ts:190
The kind of participant (Standard, Agent, etc.).
Returns
Section titled “Returns”Methods
Section titled “Methods”eventNames()
Section titled “eventNames()”eventNames(): (string | number)[];Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:7
Returns
Section titled “Returns”(string | number)[]
Inherited from
Section titled “Inherited from”getMaxListeners()
Section titled “getMaxListeners()”getMaxListeners(): number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:9
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”getTrackPublication()
Section titled “getTrackPublication()”getTrackPublication(source): TPublication | undefined;Defined in: client-sdk-js/src/participant/Participant.ts:344
Parameters
Section titled “Parameters”source
Section titled “source”Returns
Section titled “Returns”TPublication | undefined
getTrackPublicationByName()
Section titled “getTrackPublicationByName()”getTrackPublicationByName(name): TPublication | undefined;Defined in: client-sdk-js/src/participant/Participant.ts:359
Find a track publication by its name.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”TPublication | undefined
getTrackPublications()
Section titled “getTrackPublications()”getTrackPublications(): TPublication[];Defined in: client-sdk-js/src/participant/Participant.ts:268
Returns all track publications as an array.
Returns
Section titled “Returns”TPublication[]
prependListener()
Section titled “prependListener()”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
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”prependOnceListener()
Section titled “prependOnceListener()”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
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”TypedEmitter.prependOnceListener
setMaxListeners()
Section titled “setMaxListeners()”setMaxListeners(n): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:8
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”updateFromInfo()
Section titled “updateFromInfo()”updateFromInfo(info): void;Defined in: client-sdk-js/src/participant/Participant.ts:272
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
waitUntilActive()
Section titled “waitUntilActive()”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.
Returns
Section titled “Returns”Promise<void>
listenerCount()
Section titled “listenerCount()”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
Parameters
Section titled “Parameters”emitter
Section titled “emitter”EventEmitter
string | number
Returns
Section titled “Returns”number