@cloudflare/realtimekit 1.4.0-staging.2 → 1.4.0-staging.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5006 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import * as _cloudflare_realtimekit_utils from '@cloudflare/realtimekit-utils';
3
- import { PresetTypeV2, MediaVideoQualityType, ViewType, LivestreamViewerMediaQualityType, MediaScreenShareQualityType, PluginAccessControls, WaitingRoomTypes, MediaProductionPermissionType, RecorderType as RecorderType$1, BorderRadius, BorderWidth, Theme, createNewFlagsmithInstance } from '@cloudflare/realtimekit-utils';
4
- import { MessageType as MessageType$1 } from '@protobuf-ts/runtime';
5
- import { InhouseCallStats } from '@cloudflare/realtimekit-callstats';
6
- import { ClientEnvTypeAll } from '@cloudflare/realtimekit-callstats/dist/types';
7
- import { ProducerScoreStats, ConsumerScoreStats } from '@cloudflare/realtimekit-callstats/dist/measurements/types';
8
- import * as WorkerTimers from 'worker-timers';
9
-
10
- declare global {
11
- interface SymbolConstructor {
12
- readonly observable: symbol;
13
- }
14
- }
15
-
16
- /**
17
- Get keys of the given type as strings.
18
-
19
- Number keys are converted to strings.
20
-
21
- Use-cases:
22
- - Get string keys from a type which may have number keys.
23
- - Makes it possible to index using strings retrieved from template types.
24
-
25
- @example
26
- ```
27
- import type {StringKeyOf} from 'type-fest';
28
-
29
- type Foo = {
30
- 1: number,
31
- stringKey: string,
32
- };
33
-
34
- type StringKeysOfFoo = StringKeyOf<Foo>;
35
- //=> '1' | 'stringKey'
36
- ```
37
-
38
- @category Object
39
- */
40
- type StringKeyOf<BaseType> = `${Extract<keyof BaseType, string | number>}`;
41
-
42
- /**
43
- * protolint:disable ENUM_FIELD_NAMES_PREFIX
44
- *
45
- * @generated from protobuf enum media.Target
46
- */
47
- declare enum Target {
48
- /**
49
- * @generated from protobuf enum value: PUBLISHER = 0;
50
- */
51
- PUBLISHER = 0,
52
- /**
53
- * @generated from protobuf enum value: SUBSCRIBER = 1;
54
- */
55
- SUBSCRIBER = 1
56
- }
57
- /**
58
- * protolint:disable ENUM_FIELD_NAMES_PREFIX
59
- *
60
- * @generated from protobuf enum media.ProducerKind
61
- */
62
- declare enum ProducerKind {
63
- /**
64
- * @generated from protobuf enum value: AUDIO = 0;
65
- */
66
- AUDIO = 0,
67
- /**
68
- * @generated from protobuf enum value: VIDEO = 1;
69
- */
70
- VIDEO = 1
71
- }
72
- declare class Codec$Type extends MessageType$1<Codec> {
73
- constructor();
74
- }
75
- /**
76
- * @generated from protobuf message media.Codec
77
- */
78
- interface Codec {
79
- /**
80
- * @generated from protobuf field: optional int32 channels = 1;
81
- */
82
- channels?: number;
83
- /**
84
- * @generated from protobuf field: int32 clock_rate = 2;
85
- */
86
- clockRate: number;
87
- /**
88
- * @generated from protobuf field: string mime_type = 3;
89
- */
90
- mimeType: string;
91
- /**
92
- * @generated from protobuf field: optional string sdp_fmtp_line = 4;
93
- */
94
- sdpFmtpLine?: string;
95
- /**
96
- * @generated from protobuf field: optional uint32 payload_type = 5;
97
- */
98
- payloadType?: number;
99
- }
100
- /**
101
- * @generated MessageType for protobuf message media.Codec
102
- */
103
- declare const Codec: Codec$Type;
104
- declare class HeaderExtension$Type extends MessageType$1<HeaderExtension> {
105
- constructor();
106
- }
107
- /**
108
- * @generated from protobuf message media.HeaderExtension
109
- */
110
- interface HeaderExtension {
111
- /**
112
- * @generated from protobuf field: optional string direction = 1;
113
- */
114
- direction?: string;
115
- /**
116
- * @generated from protobuf field: string uri = 2;
117
- */
118
- uri: string;
119
- }
120
- /**
121
- * @generated MessageType for protobuf message media.HeaderExtension
122
- */
123
- declare const HeaderExtension: HeaderExtension$Type;
124
- declare class SessionDescription$Type extends MessageType$1<SessionDescription> {
125
- constructor();
126
- }
127
- /**
128
- * @generated from protobuf message media.SessionDescription
129
- */
130
- interface SessionDescription {
131
- /**
132
- * @generated from protobuf field: media.Target target = 1;
133
- */
134
- target: Target;
135
- /**
136
- * 'offer' | 'answer'
137
- *
138
- * @generated from protobuf field: string type = 2;
139
- */
140
- type: string;
141
- /**
142
- * sdp contents
143
- *
144
- * @generated from protobuf field: string sdp = 3;
145
- */
146
- sdp: string;
147
- }
148
- /**
149
- * @generated MessageType for protobuf message media.SessionDescription
150
- */
151
- declare const SessionDescription: SessionDescription$Type;
152
- declare class ProducerTrack$Type extends MessageType$1<ProducerTrack> {
153
- constructor();
154
- }
155
- /**
156
- * @generated from protobuf message media.ProducerTrack
157
- */
158
- interface ProducerTrack {
159
- /**
160
- * @generated from protobuf field: string track_id = 1;
161
- */
162
- trackId: string;
163
- /**
164
- * @generated from protobuf field: string producer_id = 2;
165
- */
166
- producerId: string;
167
- /**
168
- * @generated from protobuf field: string stream_id = 3;
169
- */
170
- streamId: string;
171
- }
172
- /**
173
- * @generated MessageType for protobuf message media.ProducerTrack
174
- */
175
- declare const ProducerTrack: ProducerTrack$Type;
176
- declare class ProducerState$Type extends MessageType$1<ProducerState$1> {
177
- constructor();
178
- }
179
- /**
180
- * @generated from protobuf message media.ProducerState
181
- */
182
- interface ProducerState$1 {
183
- /**
184
- * @generated from protobuf field: string producer_id = 1;
185
- */
186
- producerId: string;
187
- /**
188
- * @generated from protobuf field: media.ProducerKind kind = 2;
189
- */
190
- kind: ProducerKind;
191
- /**
192
- * @generated from protobuf field: bool pause = 3;
193
- */
194
- pause: boolean;
195
- /**
196
- * @generated from protobuf field: bool screen_share = 4;
197
- */
198
- screenShare: boolean;
199
- /**
200
- * @generated from protobuf field: optional string app_data = 5;
201
- */
202
- appData?: string;
203
- /**
204
- * @generated from protobuf field: optional string producing_transport_id = 6;
205
- */
206
- producingTransportId?: string;
207
- /**
208
- * @generated from protobuf field: optional string mime_type = 7;
209
- */
210
- mimeType?: string;
211
- /**
212
- * @generated from protobuf field: optional media.Codec codec = 8;
213
- */
214
- codec?: Codec;
215
- }
216
- /**
217
- * @generated MessageType for protobuf message media.ProducerState
218
- */
219
- declare const ProducerState$1: ProducerState$Type;
220
- declare class ConsumerState$Type extends MessageType$1<ConsumerState> {
221
- constructor();
222
- }
223
- /**
224
- * @generated from protobuf message media.ConsumerState
225
- */
226
- interface ConsumerState {
227
- /**
228
- * @generated from protobuf field: string consumer_id = 1;
229
- */
230
- consumerId: string;
231
- /**
232
- * @generated from protobuf field: media.ProducerState producer_state = 2;
233
- */
234
- producerState?: ProducerState$1;
235
- /**
236
- * @generated from protobuf field: media.ProducerTrack producer_track = 3;
237
- */
238
- producerTrack?: ProducerTrack;
239
- /**
240
- * @generated from protobuf field: optional string error_code = 4;
241
- */
242
- errorCode?: string;
243
- }
244
- /**
245
- * @generated MessageType for protobuf message media.ConsumerState
246
- */
247
- declare const ConsumerState: ConsumerState$Type;
248
- declare class PeerRtpCapabilitites$Type extends MessageType$1<PeerRtpCapabilitites> {
249
- constructor();
250
- }
251
- /**
252
- * @generated from protobuf message media.PeerRtpCapabilitites
253
- */
254
- interface PeerRtpCapabilitites {
255
- /**
256
- * @generated from protobuf field: media.RtpCapabilitites sender = 1;
257
- */
258
- sender?: RtpCapabilitites;
259
- /**
260
- * @generated from protobuf field: media.RtpCapabilitites receiver = 2;
261
- */
262
- receiver?: RtpCapabilitites;
263
- }
264
- /**
265
- * @generated MessageType for protobuf message media.PeerRtpCapabilitites
266
- */
267
- declare const PeerRtpCapabilitites: PeerRtpCapabilitites$Type;
268
- declare class RtpCapability$Type extends MessageType$1<RtpCapability> {
269
- constructor();
270
- }
271
- /**
272
- * @generated from protobuf message media.RtpCapability
273
- */
274
- interface RtpCapability {
275
- /**
276
- * @generated from protobuf field: repeated media.Codec codecs = 1;
277
- */
278
- codecs: Codec[];
279
- /**
280
- * @generated from protobuf field: repeated media.HeaderExtension header_extensions = 2;
281
- */
282
- headerExtensions: HeaderExtension[];
283
- }
284
- /**
285
- * @generated MessageType for protobuf message media.RtpCapability
286
- */
287
- declare const RtpCapability: RtpCapability$Type;
288
- declare class RtpCapabilitites$Type extends MessageType$1<RtpCapabilitites> {
289
- constructor();
290
- }
291
- /**
292
- * @generated from protobuf message media.RtpCapabilitites
293
- */
294
- interface RtpCapabilitites {
295
- /**
296
- * @generated from protobuf field: media.RtpCapability audio = 1;
297
- */
298
- audio?: RtpCapability;
299
- /**
300
- * @generated from protobuf field: media.RtpCapability video = 2;
301
- */
302
- video?: RtpCapability;
303
- }
304
- /**
305
- * @generated MessageType for protobuf message media.RtpCapabilitites
306
- */
307
- declare const RtpCapabilitites: RtpCapabilitites$Type;
308
-
309
- declare class GetRoomStateResponse$Type extends MessageType$1<GetRoomStateResponse> {
310
- constructor();
311
- }
312
- /**
313
- * GetRoomStateResponse contains the room state sent by the hub
314
- *
315
- * @generated from protobuf message media.edge.GetRoomStateResponse
316
- */
317
- interface GetRoomStateResponse {
318
- /**
319
- * @generated from protobuf field: string display_title = 1;
320
- */
321
- displayTitle: string;
322
- /**
323
- * @generated from protobuf field: bool locked_mode = 2;
324
- */
325
- lockedMode: boolean;
326
- /**
327
- * @generated from protobuf field: string room_uuid = 3;
328
- */
329
- roomUuid: string;
330
- /**
331
- * @generated from protobuf field: string room_name = 4;
332
- */
333
- roomName: string;
334
- /**
335
- * @generated from protobuf field: string current_peer_id = 5;
336
- */
337
- currentPeerId: string;
338
- /**
339
- * @generated from protobuf field: optional bool is_recording = 6;
340
- */
341
- isRecording?: boolean;
342
- /**
343
- * @generated from protobuf field: optional string recorder_participant_id = 7;
344
- */
345
- recorderParticipantId?: string;
346
- /**
347
- * @generated from protobuf field: repeated string pinned_peer_ids = 8;
348
- */
349
- pinnedPeerIds: string[];
350
- }
351
- /**
352
- * @generated MessageType for protobuf message media.edge.GetRoomStateResponse
353
- */
354
- declare const GetRoomStateResponse: GetRoomStateResponse$Type;
355
- declare class RoomParticipants$Type extends MessageType$1<RoomParticipants> {
356
- constructor();
357
- }
358
- /**
359
- * @generated from protobuf message media.edge.RoomParticipants
360
- */
361
- interface RoomParticipants {
362
- /**
363
- * @generated from protobuf field: string peer_id = 1;
364
- */
365
- peerId: string;
366
- /**
367
- * @generated from protobuf field: repeated media.ProducerState producer_states = 2;
368
- */
369
- producerStates: ProducerState$1[];
370
- /**
371
- * @generated from protobuf field: string display_name = 3;
372
- */
373
- displayName: string;
374
- /**
375
- * @generated from protobuf field: optional string user_id = 4;
376
- */
377
- userId?: string;
378
- /**
379
- * @generated from protobuf field: optional media.PeerRtpCapabilitites capabilities = 5;
380
- */
381
- capabilities?: PeerRtpCapabilitites;
382
- }
383
- /**
384
- * @generated MessageType for protobuf message media.edge.RoomParticipants
385
- */
386
- declare const RoomParticipants: RoomParticipants$Type;
387
- declare class SelectedPeersResponse$Type extends MessageType$1<SelectedPeersResponse> {
388
- constructor();
389
- }
390
- /**
391
- * @generated from protobuf message media.edge.SelectedPeersResponse
392
- */
393
- interface SelectedPeersResponse {
394
- /**
395
- * @generated from protobuf field: repeated string audio_peers = 1;
396
- */
397
- audioPeers: string[];
398
- /**
399
- * @generated from protobuf field: repeated string compulsory_peers = 2;
400
- */
401
- compulsoryPeers: string[];
402
- }
403
- /**
404
- * @generated MessageType for protobuf message media.edge.SelectedPeersResponse
405
- */
406
- declare const SelectedPeersResponse: SelectedPeersResponse$Type;
407
- declare class SelectedPeersDiffEntry$Type extends MessageType$1<SelectedPeersDiffEntry> {
408
- constructor();
409
- }
410
- /**
411
- * @generated from protobuf message media.edge.SelectedPeersDiffEntry
412
- */
413
- interface SelectedPeersDiffEntry {
414
- /**
415
- * @generated from protobuf field: string peer_id = 1;
416
- */
417
- peerId: string;
418
- /**
419
- * @generated from protobuf field: int32 priority = 2;
420
- */
421
- priority: number;
422
- }
423
- /**
424
- * @generated MessageType for protobuf message media.edge.SelectedPeersDiffEntry
425
- */
426
- declare const SelectedPeersDiffEntry: SelectedPeersDiffEntry$Type;
427
- declare class SelectedPeersDiffResponse$Type extends MessageType$1<SelectedPeersDiffResponse> {
428
- constructor();
429
- }
430
- /**
431
- * @generated from protobuf message media.edge.SelectedPeersDiffResponse
432
- */
433
- interface SelectedPeersDiffResponse {
434
- /**
435
- * @generated from protobuf field: repeated media.edge.SelectedPeersDiffEntry entries = 1;
436
- */
437
- entries: SelectedPeersDiffEntry[];
438
- }
439
- /**
440
- * @generated MessageType for protobuf message media.edge.SelectedPeersDiffResponse
441
- */
442
- declare const SelectedPeersDiffResponse: SelectedPeersDiffResponse$Type;
443
- declare class PeerJoinCompleteResponse$Type extends MessageType$1<PeerJoinCompleteResponse> {
444
- constructor();
445
- }
446
- /**
447
- * @generated from protobuf message media.edge.PeerJoinCompleteResponse
448
- */
449
- interface PeerJoinCompleteResponse {
450
- /**
451
- * @generated from protobuf field: optional media.edge.GetRoomStateResponse room_state = 1;
452
- */
453
- roomState?: GetRoomStateResponse;
454
- /**
455
- * @generated from protobuf field: repeated media.edge.RoomParticipants participants = 2;
456
- */
457
- participants: RoomParticipants[];
458
- /**
459
- * @generated from protobuf field: media.edge.SelectedPeersResponse selected_peers = 3;
460
- */
461
- selectedPeers?: SelectedPeersResponse;
462
- /**
463
- * @generated from protobuf field: int32 max_preferred_streams = 4;
464
- */
465
- maxPreferredStreams: number;
466
- }
467
- /**
468
- * @generated MessageType for protobuf message media.edge.PeerJoinCompleteResponse
469
- */
470
- declare const PeerJoinCompleteResponse: PeerJoinCompleteResponse$Type;
471
- declare class PeerLeaveResponse$Type extends MessageType$1<PeerLeaveResponse> {
472
- constructor();
473
- }
474
- /**
475
- * @generated from protobuf message media.edge.PeerLeaveResponse
476
- */
477
- interface PeerLeaveResponse {
478
- /**
479
- * @generated from protobuf field: bool closed = 1;
480
- */
481
- closed: boolean;
482
- }
483
- /**
484
- * @generated MessageType for protobuf message media.edge.PeerLeaveResponse
485
- */
486
- declare const PeerLeaveResponse: PeerLeaveResponse$Type;
487
- declare class PeerJoinBroadcastResponse$Type extends MessageType$1<PeerJoinBroadcastResponse> {
488
- constructor();
489
- }
490
- /**
491
- * @generated from protobuf message media.edge.PeerJoinBroadcastResponse
492
- */
493
- interface PeerJoinBroadcastResponse {
494
- /**
495
- * @generated from protobuf field: media.edge.RoomParticipants participant = 1;
496
- */
497
- participant?: RoomParticipants;
498
- }
499
- /**
500
- * @generated MessageType for protobuf message media.edge.PeerJoinBroadcastResponse
501
- */
502
- declare const PeerJoinBroadcastResponse: PeerJoinBroadcastResponse$Type;
503
- declare class GlobalPeerPinningBroadcastResponse$Type extends MessageType$1<GlobalPeerPinningBroadcastResponse> {
504
- constructor();
505
- }
506
- /**
507
- * @generated from protobuf message media.edge.GlobalPeerPinningBroadcastResponse
508
- */
509
- interface GlobalPeerPinningBroadcastResponse {
510
- /**
511
- * @generated from protobuf field: string participant_id = 1;
512
- */
513
- participantId: string;
514
- }
515
- /**
516
- * @generated MessageType for protobuf message media.edge.GlobalPeerPinningBroadcastResponse
517
- */
518
- declare const GlobalPeerPinningBroadcastResponse: GlobalPeerPinningBroadcastResponse$Type;
519
-
520
- /**
521
- * protolint:disable ENUM_FIELD_NAMES_PREFIX
522
- *
523
- * @generated from protobuf enum common.RecordingType
524
- */
525
- declare enum RecordingType$1 {
526
- /**
527
- * @generated from protobuf enum value: BROWSER = 0;
528
- */
529
- BROWSER = 0,
530
- /**
531
- * @generated from protobuf enum value: TRACK = 1;
532
- */
533
- TRACK = 1,
534
- /**
535
- * @generated from protobuf enum value: COMPOSITE = 2;
536
- */
537
- COMPOSITE = 2
538
- }
539
-
540
- /**
541
- * @generated from protobuf enum socket.room.StageType
542
- */
543
- declare enum StageType {
544
- /**
545
- * @generated from protobuf enum value: STAGE_TYPE_UNSPECIFIED = 0;
546
- */
547
- UNSPECIFIED = 0,
548
- /**
549
- * @generated from protobuf enum value: STAGE_TYPE_ON_STAGE = 1;
550
- */
551
- ON_STAGE = 1,
552
- /**
553
- * @generated from protobuf enum value: STAGE_TYPE_APPROVED_STAGE = 2;
554
- */
555
- APPROVED_STAGE = 2,
556
- /**
557
- * @generated from protobuf enum value: STAGE_TYPE_REQUESTED_STAGE = 3;
558
- */
559
- REQUESTED_STAGE = 3,
560
- /**
561
- * @generated from protobuf enum value: STAGE_TYPE_OFF_STAGE = 4;
562
- */
563
- OFF_STAGE = 4
564
- }
565
- /**
566
- * @generated from protobuf enum socket.room.RecorderType
567
- */
568
- declare enum RecorderType {
569
- /**
570
- * @generated from protobuf enum value: RECORDER_TYPE_NONE = 0;
571
- */
572
- NONE = 0,
573
- /**
574
- * @generated from protobuf enum value: RECORDER_TYPE_RECORDER = 1;
575
- */
576
- RECORDER = 1,
577
- /**
578
- * @generated from protobuf enum value: RECORDER_TYPE_LIVESTREAMER = 2;
579
- */
580
- LIVESTREAMER = 2
581
- }
582
- /**
583
- * @generated from protobuf enum socket.room.Capabilities
584
- */
585
- declare enum Capabilities {
586
- /**
587
- * @generated from protobuf enum value: CAPABILITIES_HIVE = 0;
588
- */
589
- HIVE = 0,
590
- /**
591
- * @generated from protobuf enum value: CAPABILITIES_CHAT = 1;
592
- */
593
- CHAT = 1,
594
- /**
595
- * @generated from protobuf enum value: CAPABILITIES_PING = 2;
596
- */
597
- PING = 2
598
- }
599
- declare class PeerFlags$Type extends MessageType$1<PeerFlags> {
600
- constructor();
601
- }
602
- /**
603
- * @generated from protobuf message socket.room.PeerFlags
604
- */
605
- interface PeerFlags {
606
- /**
607
- * @generated from protobuf field: string preset_name = 1;
608
- */
609
- presetName: string;
610
- /**
611
- * @generated from protobuf field: string recorder_type = 2;
612
- */
613
- recorderType: string;
614
- /**
615
- * @generated from protobuf field: bool hidden_participant = 3;
616
- */
617
- hiddenParticipant: boolean;
618
- }
619
- /**
620
- * @generated MessageType for protobuf message socket.room.PeerFlags
621
- */
622
- declare const PeerFlags: PeerFlags$Type;
623
- declare class Peer$Type extends MessageType$1<Peer> {
624
- constructor();
625
- }
626
- /**
627
- * @generated from protobuf message socket.room.Peer
628
- */
629
- interface Peer {
630
- /**
631
- * @generated from protobuf field: string peer_id = 1;
632
- */
633
- peerId: string;
634
- /**
635
- * @generated from protobuf field: string user_id = 2;
636
- */
637
- userId: string;
638
- /**
639
- * @generated from protobuf field: string display_name = 3;
640
- */
641
- displayName: string;
642
- /**
643
- * @generated from protobuf field: optional socket.room.StageType stage_type = 4;
644
- */
645
- stageType?: StageType;
646
- /**
647
- * @generated from protobuf field: optional string custom_participant_id = 5;
648
- */
649
- customParticipantId?: string;
650
- /**
651
- * @generated from protobuf field: optional string preset_id = 6;
652
- */
653
- presetId?: string;
654
- /**
655
- * @generated from protobuf field: optional string display_picture_url = 7;
656
- */
657
- displayPictureUrl?: string;
658
- /**
659
- * @generated from protobuf field: bool waitlisted = 8;
660
- */
661
- waitlisted: boolean;
662
- /**
663
- * @generated from protobuf field: socket.room.PeerFlags flags = 9;
664
- */
665
- flags?: PeerFlags;
666
- }
667
- /**
668
- * @generated MessageType for protobuf message socket.room.Peer
669
- */
670
- declare const Peer: Peer$Type;
671
- declare class PeerInfoResponse$Type extends MessageType$1<PeerInfoResponse> {
672
- constructor();
673
- }
674
- /**
675
- * @generated from protobuf message socket.room.PeerInfoResponse
676
- */
677
- interface PeerInfoResponse {
678
- /**
679
- * @generated from protobuf field: socket.room.Peer peer = 1;
680
- */
681
- peer?: Peer;
682
- }
683
- /**
684
- * @generated MessageType for protobuf message socket.room.PeerInfoResponse
685
- */
686
- declare const PeerInfoResponse: PeerInfoResponse$Type;
687
- declare class PeerStatusUpdate$Type extends MessageType$1<PeerStatusUpdate> {
688
- constructor();
689
- }
690
- /**
691
- * @generated from protobuf message socket.room.PeerStatusUpdate
692
- */
693
- interface PeerStatusUpdate {
694
- /**
695
- * @generated from protobuf field: string peer_id = 1;
696
- */
697
- peerId: string;
698
- /**
699
- * @generated from protobuf field: string user_id = 2;
700
- */
701
- userId: string;
702
- /**
703
- * @generated from protobuf field: optional socket.room.StageType stage_type = 3;
704
- */
705
- stageType?: StageType;
706
- }
707
- /**
708
- * @generated MessageType for protobuf message socket.room.PeerStatusUpdate
709
- */
710
- declare const PeerStatusUpdate: PeerStatusUpdate$Type;
711
- declare class RoomPeersInfoResponse$Type extends MessageType$1<RoomPeersInfoResponse> {
712
- constructor();
713
- }
714
- /**
715
- * @generated from protobuf message socket.room.RoomPeersInfoResponse
716
- */
717
- interface RoomPeersInfoResponse {
718
- /**
719
- * @generated from protobuf field: repeated socket.room.Peer peers = 1;
720
- */
721
- peers: Peer[];
722
- }
723
- /**
724
- * @generated MessageType for protobuf message socket.room.RoomPeersInfoResponse
725
- */
726
- declare const RoomPeersInfoResponse: RoomPeersInfoResponse$Type;
727
- declare class Room$Type extends MessageType$1<Room> {
728
- constructor();
729
- }
730
- /**
731
- * @generated from protobuf message socket.room.Room
732
- */
733
- interface Room {
734
- /**
735
- * @generated from protobuf field: string room_id = 1;
736
- */
737
- roomId: string;
738
- /**
739
- * @generated from protobuf field: string title = 2;
740
- */
741
- title: string;
742
- /**
743
- * @generated from protobuf field: uint64 created_at = 4 [jstype = JS_NUMBER];
744
- */
745
- createdAt: number;
746
- /**
747
- * @generated from protobuf field: repeated socket.room.ActiveRecording active_recordings = 5;
748
- */
749
- activeRecordings: ActiveRecording[];
750
- /**
751
- * @generated from protobuf field: optional string room_uuid = 6;
752
- */
753
- roomUuid?: string;
754
- }
755
- /**
756
- * @generated MessageType for protobuf message socket.room.Room
757
- */
758
- declare const Room: Room$Type;
759
- declare class ActiveRecording$Type extends MessageType$1<ActiveRecording> {
760
- constructor();
761
- }
762
- /**
763
- * @generated from protobuf message socket.room.ActiveRecording
764
- */
765
- interface ActiveRecording {
766
- /**
767
- * @generated from protobuf field: string recording_id = 1;
768
- */
769
- recordingId: string;
770
- /**
771
- * @generated from protobuf field: common.RecordingType recording_type = 2;
772
- */
773
- recordingType: RecordingType$1;
774
- /**
775
- * @generated from protobuf field: string recording_status = 3;
776
- */
777
- recordingStatus: string;
778
- }
779
- /**
780
- * @generated MessageType for protobuf message socket.room.ActiveRecording
781
- */
782
- declare const ActiveRecording: ActiveRecording$Type;
783
- declare class RoomInfoResponse$Type extends MessageType$1<RoomInfoResponse> {
784
- constructor();
785
- }
786
- /**
787
- * @generated from protobuf message socket.room.RoomInfoResponse
788
- */
789
- interface RoomInfoResponse {
790
- /**
791
- * @generated from protobuf field: socket.room.Room room = 1;
792
- */
793
- room?: Room;
794
- }
795
- /**
796
- * @generated MessageType for protobuf message socket.room.RoomInfoResponse
797
- */
798
- declare const RoomInfoResponse: RoomInfoResponse$Type;
799
- declare class CreateRoomRequestPayload$Type extends MessageType$1<CreateRoomRequestPayload> {
800
- constructor();
801
- }
802
- /**
803
- * @generated from protobuf message socket.room.CreateRoomRequestPayload
804
- */
805
- interface CreateRoomRequestPayload {
806
- /**
807
- * @generated from protobuf field: optional string title = 1;
808
- */
809
- title?: string;
810
- }
811
- /**
812
- * @generated MessageType for protobuf message socket.room.CreateRoomRequestPayload
813
- */
814
- declare const CreateRoomRequestPayload: CreateRoomRequestPayload$Type;
815
- declare class UpdateRoomRequestPayload$Type extends MessageType$1<UpdateRoomRequestPayload> {
816
- constructor();
817
- }
818
- /**
819
- * @generated from protobuf message socket.room.UpdateRoomRequestPayload
820
- */
821
- interface UpdateRoomRequestPayload {
822
- /**
823
- * @generated from protobuf field: optional string meeting_id = 1;
824
- */
825
- meetingId?: string;
826
- /**
827
- * @generated from protobuf field: optional string title = 2;
828
- */
829
- title?: string;
830
- }
831
- /**
832
- * @generated MessageType for protobuf message socket.room.UpdateRoomRequestPayload
833
- */
834
- declare const UpdateRoomRequestPayload: UpdateRoomRequestPayload$Type;
835
- declare class MovePeerPayload$Type extends MessageType$1<MovePeerPayload> {
836
- constructor();
837
- }
838
- /**
839
- * @generated from protobuf message socket.room.MovePeerPayload
840
- */
841
- interface MovePeerPayload {
842
- /**
843
- * @generated from protobuf field: optional string id = 1;
844
- */
845
- id?: string;
846
- /**
847
- * @generated from protobuf field: optional string preset_id = 2;
848
- */
849
- presetId?: string;
850
- }
851
- /**
852
- * @generated MessageType for protobuf message socket.room.MovePeerPayload
853
- */
854
- declare const MovePeerPayload: MovePeerPayload$Type;
855
- declare class MovePeersBetweenRoomsRequest$Type extends MessageType$1<MovePeersBetweenRoomsRequest> {
856
- constructor();
857
- }
858
- /**
859
- * @generated from protobuf message socket.room.MovePeersBetweenRoomsRequest
860
- */
861
- interface MovePeersBetweenRoomsRequest {
862
- /**
863
- * @generated from protobuf field: optional string source_meeting_id = 1;
864
- */
865
- sourceMeetingId?: string;
866
- /**
867
- * @generated from protobuf field: optional string destination_meeting_id = 2;
868
- */
869
- destinationMeetingId?: string;
870
- /**
871
- * @generated from protobuf field: repeated socket.room.MovePeerPayload participants = 3;
872
- */
873
- participants: MovePeerPayload[];
874
- }
875
- /**
876
- * @generated MessageType for protobuf message socket.room.MovePeersBetweenRoomsRequest
877
- */
878
- declare const MovePeersBetweenRoomsRequest: MovePeersBetweenRoomsRequest$Type;
879
- declare class WaitingRoomRequest$Type extends MessageType$1<WaitingRoomRequest> {
880
- constructor();
881
- }
882
- /**
883
- * @generated from protobuf message socket.room.WaitingRoomRequest
884
- */
885
- interface WaitingRoomRequest {
886
- /**
887
- * @generated from protobuf field: string peer_id = 1;
888
- */
889
- peerId: string;
890
- /**
891
- * @generated from protobuf field: string user_id = 2;
892
- */
893
- userId: string;
894
- /**
895
- * @generated from protobuf field: string display_name = 3;
896
- */
897
- displayName: string;
898
- /**
899
- * @generated from protobuf field: optional string picture = 4;
900
- */
901
- picture?: string;
902
- /**
903
- * @generated from protobuf field: optional string custom_participant_id = 5;
904
- */
905
- customParticipantId?: string;
906
- /**
907
- * @generated from protobuf field: optional string preset_name = 6;
908
- */
909
- presetName?: string;
910
- }
911
- /**
912
- * @generated MessageType for protobuf message socket.room.WaitingRoomRequest
913
- */
914
- declare const WaitingRoomRequest: WaitingRoomRequest$Type;
915
- declare class GetWaitingRoomRequests$Type extends MessageType$1<GetWaitingRoomRequests> {
916
- constructor();
917
- }
918
- /**
919
- * @generated from protobuf message socket.room.GetWaitingRoomRequests
920
- */
921
- interface GetWaitingRoomRequests {
922
- /**
923
- * @generated from protobuf field: repeated socket.room.WaitingRoomRequest requests = 1;
924
- */
925
- requests: WaitingRoomRequest[];
926
- }
927
- /**
928
- * @generated MessageType for protobuf message socket.room.GetWaitingRoomRequests
929
- */
930
- declare const GetWaitingRoomRequests: GetWaitingRoomRequests$Type;
931
- declare class GetRoomStageStateResponse$Type extends MessageType$1<GetRoomStageStateResponse> {
932
- constructor();
933
- }
934
- /**
935
- * not adding off stage array, as remaining will be off stage
936
- *
937
- * @generated from protobuf message socket.room.GetRoomStageStateResponse
938
- */
939
- interface GetRoomStageStateResponse {
940
- /**
941
- * @generated from protobuf field: repeated string on_stage_peers = 1;
942
- */
943
- onStagePeers: string[];
944
- /**
945
- * @generated from protobuf field: repeated string approved_stage_peers = 2;
946
- */
947
- approvedStagePeers: string[];
948
- /**
949
- * @generated from protobuf field: repeated string requested_stage_peers = 3;
950
- */
951
- requestedStagePeers: string[];
952
- }
953
- /**
954
- * @generated MessageType for protobuf message socket.room.GetRoomStageStateResponse
955
- */
956
- declare const GetRoomStageStateResponse: GetRoomStageStateResponse$Type;
957
-
958
- /**
959
- * @generated from protobuf enum socket.preset.WaitingRoomType
960
- */
961
- declare enum WaitingRoomType {
962
- /**
963
- * @generated from protobuf enum value: WAITING_ROOM_TYPE_NONE = 0;
964
- */
965
- NONE = 0,
966
- /**
967
- * @generated from protobuf enum value: WAITING_ROOM_TYPE_SKIP = 1;
968
- */
969
- SKIP = 1,
970
- /**
971
- * @generated from protobuf enum value: WAITING_ROOM_TYPE_ON_PRIVILEGED_USER_ENTRY = 2;
972
- */
973
- ON_PRIVILEGED_USER_ENTRY = 2,
974
- /**
975
- * @generated from protobuf enum value: WAITING_ROOM_TYPE_SKIP_ON_ACCEPT = 3;
976
- */
977
- SKIP_ON_ACCEPT = 3
978
- }
979
- /**
980
- * @generated from protobuf enum socket.preset.StreamPermissionType
981
- */
982
- declare enum StreamPermissionType {
983
- /**
984
- * @generated from protobuf enum value: STREAM_PERMISSION_TYPE_NONE = 0;
985
- */
986
- NONE = 0,
987
- /**
988
- * @generated from protobuf enum value: STREAM_PERMISSION_TYPE_ALLOWED = 1;
989
- */
990
- ALLOWED = 1,
991
- /**
992
- * @generated from protobuf enum value: STREAM_PERMISSION_TYPE_NOT_ALLOWED = 2;
993
- */
994
- NOT_ALLOWED = 2,
995
- /**
996
- * @generated from protobuf enum value: STREAM_PERMISSION_TYPE_CAN_REQUEST = 3;
997
- */
998
- CAN_REQUEST = 3
999
- }
1000
- declare class PollsPermissionUpdate$Type extends MessageType$1<PollsPermissionUpdate> {
1001
- constructor();
1002
- }
1003
- /**
1004
- * @generated from protobuf message socket.preset.PollsPermissionUpdate
1005
- */
1006
- interface PollsPermissionUpdate {
1007
- /**
1008
- * @generated from protobuf field: optional bool can_create = 1;
1009
- */
1010
- canCreate?: boolean;
1011
- /**
1012
- * @generated from protobuf field: optional bool can_vote = 2;
1013
- */
1014
- canVote?: boolean;
1015
- /**
1016
- * @generated from protobuf field: optional bool can_view = 3;
1017
- */
1018
- canView?: boolean;
1019
- }
1020
- /**
1021
- * @generated MessageType for protobuf message socket.preset.PollsPermissionUpdate
1022
- */
1023
- declare const PollsPermissionUpdate: PollsPermissionUpdate$Type;
1024
- declare class PluginsPermissionsUpdate$Type extends MessageType$1<PluginsPermissionsUpdate> {
1025
- constructor();
1026
- }
1027
- /**
1028
- * @generated from protobuf message socket.preset.PluginsPermissionsUpdate
1029
- */
1030
- interface PluginsPermissionsUpdate {
1031
- /**
1032
- * @generated from protobuf field: optional bool can_close = 1;
1033
- */
1034
- canClose?: boolean;
1035
- /**
1036
- * @generated from protobuf field: optional bool can_start = 2;
1037
- */
1038
- canStart?: boolean;
1039
- }
1040
- /**
1041
- * @generated MessageType for protobuf message socket.preset.PluginsPermissionsUpdate
1042
- */
1043
- declare const PluginsPermissionsUpdate: PluginsPermissionsUpdate$Type;
1044
- declare class PublicChatPermission$Type extends MessageType$1<PublicChatPermission> {
1045
- constructor();
1046
- }
1047
- /**
1048
- * @generated from protobuf message socket.preset.PublicChatPermission
1049
- */
1050
- interface PublicChatPermission {
1051
- /**
1052
- * @generated from protobuf field: optional bool can_send = 1;
1053
- */
1054
- canSend?: boolean;
1055
- /**
1056
- * @generated from protobuf field: optional bool text = 2;
1057
- */
1058
- text?: boolean;
1059
- /**
1060
- * @generated from protobuf field: optional bool files = 3;
1061
- */
1062
- files?: boolean;
1063
- }
1064
- /**
1065
- * @generated MessageType for protobuf message socket.preset.PublicChatPermission
1066
- */
1067
- declare const PublicChatPermission: PublicChatPermission$Type;
1068
- declare class PrivateChatPermission$Type extends MessageType$1<PrivateChatPermission> {
1069
- constructor();
1070
- }
1071
- /**
1072
- * @generated from protobuf message socket.preset.PrivateChatPermission
1073
- */
1074
- interface PrivateChatPermission {
1075
- /**
1076
- * @generated from protobuf field: optional bool can_send = 1;
1077
- */
1078
- canSend?: boolean;
1079
- /**
1080
- * @generated from protobuf field: optional bool can_receive = 2;
1081
- */
1082
- canReceive?: boolean;
1083
- /**
1084
- * @generated from protobuf field: optional bool text = 3;
1085
- */
1086
- text?: boolean;
1087
- /**
1088
- * @generated from protobuf field: optional bool files = 4;
1089
- */
1090
- files?: boolean;
1091
- }
1092
- /**
1093
- * @generated MessageType for protobuf message socket.preset.PrivateChatPermission
1094
- */
1095
- declare const PrivateChatPermission: PrivateChatPermission$Type;
1096
- declare class ChatPermissionUpdate$Type extends MessageType$1<ChatPermissionUpdate> {
1097
- constructor();
1098
- }
1099
- /**
1100
- * @generated from protobuf message socket.preset.ChatPermissionUpdate
1101
- */
1102
- interface ChatPermissionUpdate {
1103
- /**
1104
- * @generated from protobuf field: optional socket.preset.PublicChatPermission public = 1;
1105
- */
1106
- public?: PublicChatPermission;
1107
- /**
1108
- * @generated from protobuf field: optional socket.preset.PrivateChatPermission private = 2;
1109
- */
1110
- private?: PrivateChatPermission;
1111
- }
1112
- /**
1113
- * @generated MessageType for protobuf message socket.preset.ChatPermissionUpdate
1114
- */
1115
- declare const ChatPermissionUpdate: ChatPermissionUpdate$Type;
1116
- declare class ConnectedMeetingPermissionUpdate$Type extends MessageType$1<ConnectedMeetingPermissionUpdate> {
1117
- constructor();
1118
- }
1119
- /**
1120
- * @generated from protobuf message socket.preset.ConnectedMeetingPermissionUpdate
1121
- */
1122
- interface ConnectedMeetingPermissionUpdate {
1123
- /**
1124
- * @generated from protobuf field: optional bool can_alter_connected_meetings = 1;
1125
- */
1126
- canAlterConnectedMeetings?: boolean;
1127
- /**
1128
- * @generated from protobuf field: optional bool can_switch_to_parent_meeting = 2;
1129
- */
1130
- canSwitchToParentMeeting?: boolean;
1131
- /**
1132
- * @generated from protobuf field: optional bool can_switch_connected_meetings = 3;
1133
- */
1134
- canSwitchConnectedMeetings?: boolean;
1135
- }
1136
- /**
1137
- * @generated MessageType for protobuf message socket.preset.ConnectedMeetingPermissionUpdate
1138
- */
1139
- declare const ConnectedMeetingPermissionUpdate: ConnectedMeetingPermissionUpdate$Type;
1140
- declare class StreamPermission$Type extends MessageType$1<StreamPermission> {
1141
- constructor();
1142
- }
1143
- /**
1144
- * @generated from protobuf message socket.preset.StreamPermission
1145
- */
1146
- interface StreamPermission {
1147
- /**
1148
- * @generated from protobuf field: optional socket.preset.StreamPermissionType can_produce = 1;
1149
- */
1150
- canProduce?: StreamPermissionType;
1151
- /**
1152
- * @generated from protobuf field: optional socket.preset.StreamPermissionType can_consume = 2;
1153
- */
1154
- canConsume?: StreamPermissionType;
1155
- }
1156
- /**
1157
- * @generated MessageType for protobuf message socket.preset.StreamPermission
1158
- */
1159
- declare const StreamPermission: StreamPermission$Type;
1160
- declare class MediaPermissionUpdate$Type extends MessageType$1<MediaPermissionUpdate> {
1161
- constructor();
1162
- }
1163
- /**
1164
- * @generated from protobuf message socket.preset.MediaPermissionUpdate
1165
- */
1166
- interface MediaPermissionUpdate {
1167
- /**
1168
- * @generated from protobuf field: optional socket.preset.StreamPermission video = 1;
1169
- */
1170
- video?: StreamPermission;
1171
- /**
1172
- * @generated from protobuf field: optional socket.preset.StreamPermission audio = 2;
1173
- */
1174
- audio?: StreamPermission;
1175
- /**
1176
- * @generated from protobuf field: optional socket.preset.StreamPermission screenshare = 3;
1177
- */
1178
- screenshare?: StreamPermission;
1179
- }
1180
- /**
1181
- * @generated MessageType for protobuf message socket.preset.MediaPermissionUpdate
1182
- */
1183
- declare const MediaPermissionUpdate: MediaPermissionUpdate$Type;
1184
- declare class PresetUpdates$Type extends MessageType$1<PresetUpdates> {
1185
- constructor();
1186
- }
1187
- /**
1188
- * @generated from protobuf message socket.preset.PresetUpdates
1189
- */
1190
- interface PresetUpdates {
1191
- /**
1192
- * @generated from protobuf field: optional socket.preset.PollsPermissionUpdate polls = 1;
1193
- */
1194
- polls?: PollsPermissionUpdate;
1195
- /**
1196
- * @generated from protobuf field: optional socket.preset.PluginsPermissionsUpdate plugins = 2;
1197
- */
1198
- plugins?: PluginsPermissionsUpdate;
1199
- /**
1200
- * @generated from protobuf field: optional socket.preset.ChatPermissionUpdate chat = 3;
1201
- */
1202
- chat?: ChatPermissionUpdate;
1203
- /**
1204
- * @generated from protobuf field: optional bool accept_waiting_requests = 4;
1205
- */
1206
- acceptWaitingRequests?: boolean;
1207
- /**
1208
- * @generated from protobuf field: optional bool can_accept_production_requests = 5;
1209
- */
1210
- canAcceptProductionRequests?: boolean;
1211
- /**
1212
- * @generated from protobuf field: optional bool can_edit_display_name = 6;
1213
- */
1214
- canEditDisplayName?: boolean;
1215
- /**
1216
- * @generated from protobuf field: optional bool can_record = 7;
1217
- */
1218
- canRecord?: boolean;
1219
- /**
1220
- * @generated from protobuf field: optional bool can_livestream = 8;
1221
- */
1222
- canLivestream?: boolean;
1223
- /**
1224
- * @generated from protobuf field: optional bool can_spotlight = 9;
1225
- */
1226
- canSpotlight?: boolean;
1227
- /**
1228
- * @generated from protobuf field: optional bool disable_participant_audio = 10;
1229
- */
1230
- disableParticipantAudio?: boolean;
1231
- /**
1232
- * @generated from protobuf field: optional bool disable_participant_screensharing = 11;
1233
- */
1234
- disableParticipantScreensharing?: boolean;
1235
- /**
1236
- * @generated from protobuf field: optional bool disable_participant_video = 12;
1237
- */
1238
- disableParticipantVideo?: boolean;
1239
- /**
1240
- * @generated from protobuf field: optional bool kick_participant = 13;
1241
- */
1242
- kickParticipant?: boolean;
1243
- /**
1244
- * @generated from protobuf field: optional bool pin_participant = 14;
1245
- */
1246
- pinParticipant?: boolean;
1247
- /**
1248
- * @generated from protobuf field: optional bool transcription_enabled = 15;
1249
- */
1250
- transcriptionEnabled?: boolean;
1251
- /**
1252
- * @generated from protobuf field: optional socket.preset.WaitingRoomType waiting_room_type = 16;
1253
- */
1254
- waitingRoomType?: WaitingRoomType;
1255
- /**
1256
- * @generated from protobuf field: optional bool is_recorder = 17;
1257
- */
1258
- isRecorder?: boolean;
1259
- /**
1260
- * @generated from protobuf field: optional socket.room.RecorderType recorder_type = 18;
1261
- */
1262
- recorderType?: RecorderType;
1263
- /**
1264
- * @generated from protobuf field: optional bool hidden_participant = 19;
1265
- */
1266
- hiddenParticipant?: boolean;
1267
- /**
1268
- * @generated from protobuf field: optional bool show_participant_list = 20;
1269
- */
1270
- showParticipantList?: boolean;
1271
- /**
1272
- * @generated from protobuf field: optional bool can_change_participant_permissions = 21;
1273
- */
1274
- canChangeParticipantPermissions?: boolean;
1275
- /**
1276
- * @generated from protobuf field: optional socket.preset.ConnectedMeetingPermissionUpdate connected_meetings = 22;
1277
- */
1278
- connectedMeetings?: ConnectedMeetingPermissionUpdate;
1279
- /**
1280
- * @generated from protobuf field: optional socket.preset.MediaPermissionUpdate media = 23;
1281
- */
1282
- media?: MediaPermissionUpdate;
1283
- }
1284
- /**
1285
- * @generated MessageType for protobuf message socket.preset.PresetUpdates
1286
- */
1287
- declare const PresetUpdates: PresetUpdates$Type;
1288
- declare class UpdatePeerPreset$Type extends MessageType$1<UpdatePeerPreset> {
1289
- constructor();
1290
- }
1291
- /**
1292
- * @generated from protobuf message socket.preset.UpdatePeerPreset
1293
- */
1294
- interface UpdatePeerPreset {
1295
- /**
1296
- * @generated from protobuf field: string user_ids = 1;
1297
- */
1298
- userIds: string;
1299
- /**
1300
- * @generated from protobuf field: socket.preset.PresetUpdates patch = 2;
1301
- */
1302
- patch?: PresetUpdates;
1303
- }
1304
- /**
1305
- * @generated MessageType for protobuf message socket.preset.UpdatePeerPreset
1306
- */
1307
- declare const UpdatePeerPreset: UpdatePeerPreset$Type;
1308
- declare class UpdatePeersPresetResponse$Type extends MessageType$1<UpdatePeersPresetResponse> {
1309
- constructor();
1310
- }
1311
- /**
1312
- * @generated from protobuf message socket.preset.UpdatePeersPresetResponse
1313
- */
1314
- interface UpdatePeersPresetResponse {
1315
- /**
1316
- * @generated from protobuf field: repeated socket.preset.UpdatePeerPreset update_peers_presets = 1;
1317
- */
1318
- updatePeersPresets: UpdatePeerPreset[];
1319
- }
1320
- /**
1321
- * @generated MessageType for protobuf message socket.preset.UpdatePeersPresetResponse
1322
- */
1323
- declare const UpdatePeersPresetResponse: UpdatePeersPresetResponse$Type;
1324
-
1325
- declare class ChatMessage$Type extends MessageType$1<ChatMessage> {
1326
- constructor();
1327
- }
1328
- /**
1329
- * @generated from protobuf message socket.chat.ChatMessage
1330
- */
1331
- interface ChatMessage {
1332
- /**
1333
- * @generated from protobuf field: string chat_id = 1;
1334
- */
1335
- chatId: string;
1336
- /**
1337
- * @generated from protobuf field: string peer_id = 2;
1338
- */
1339
- peerId: string;
1340
- /**
1341
- * @generated from protobuf field: string user_id = 3;
1342
- */
1343
- userId: string;
1344
- /**
1345
- * @generated from protobuf field: string display_name = 4;
1346
- */
1347
- displayName: string;
1348
- /**
1349
- * @generated from protobuf field: bool pinned = 5;
1350
- */
1351
- pinned: boolean;
1352
- /**
1353
- * @generated from protobuf field: bool is_edited = 6;
1354
- */
1355
- isEdited: boolean;
1356
- /**
1357
- * @generated from protobuf field: int32 payload_type = 7;
1358
- */
1359
- payloadType: number;
1360
- /**
1361
- * @generated from protobuf field: string payload = 8;
1362
- */
1363
- payload: string;
1364
- /**
1365
- * @generated from protobuf field: repeated string target_user_ids = 10;
1366
- */
1367
- targetUserIds: string[];
1368
- /**
1369
- * @generated from protobuf field: uint64 created_at = 11 [jstype = JS_NUMBER];
1370
- */
1371
- createdAt: number;
1372
- /**
1373
- * @generated from protobuf field: optional uint64 created_at_ms = 12 [jstype = JS_NUMBER];
1374
- */
1375
- createdAtMs?: number;
1376
- /**
1377
- * @generated from protobuf field: optional string channel_id = 13;
1378
- */
1379
- channelId?: string;
1380
- /**
1381
- * The index of this message within it's channel
1382
- *
1383
- * @generated from protobuf field: optional string channel_index = 14;
1384
- */
1385
- channelIndex?: string;
1386
- }
1387
- /**
1388
- * @generated MessageType for protobuf message socket.chat.ChatMessage
1389
- */
1390
- declare const ChatMessage: ChatMessage$Type;
1391
- declare class GetPaginatedChatMessageFilters$Type extends MessageType$1<GetPaginatedChatMessageFilters> {
1392
- constructor();
1393
- }
1394
- /**
1395
- * @generated from protobuf message socket.chat.GetPaginatedChatMessageFilters
1396
- */
1397
- interface GetPaginatedChatMessageFilters {
1398
- /**
1399
- * @generated from protobuf oneof: filters
1400
- */
1401
- filters: {
1402
- oneofKind: "pinned";
1403
- /**
1404
- * @generated from protobuf field: bool pinned = 1;
1405
- */
1406
- pinned: boolean;
1407
- } | {
1408
- oneofKind: "userId";
1409
- /**
1410
- * @generated from protobuf field: string user_id = 2;
1411
- */
1412
- userId: string;
1413
- } | {
1414
- oneofKind: undefined;
1415
- };
1416
- }
1417
- /**
1418
- * @generated MessageType for protobuf message socket.chat.GetPaginatedChatMessageFilters
1419
- */
1420
- declare const GetPaginatedChatMessageFilters: GetPaginatedChatMessageFilters$Type;
1421
- declare class GetPaginatedChatMessageRoomResponse$Type extends MessageType$1<GetPaginatedChatMessageRoomResponse> {
1422
- constructor();
1423
- }
1424
- /**
1425
- * @generated from protobuf message socket.chat.GetPaginatedChatMessageRoomResponse
1426
- */
1427
- interface GetPaginatedChatMessageRoomResponse {
1428
- /**
1429
- * @generated from protobuf field: repeated socket.chat.ChatMessage messages = 1;
1430
- */
1431
- messages: ChatMessage[];
1432
- /**
1433
- * @generated from protobuf field: bool next = 2;
1434
- */
1435
- next: boolean;
1436
- }
1437
- /**
1438
- * @generated MessageType for protobuf message socket.chat.GetPaginatedChatMessageRoomResponse
1439
- */
1440
- declare const GetPaginatedChatMessageRoomResponse: GetPaginatedChatMessageRoomResponse$Type;
1441
- declare class SendChatMessageToRoomResponse$Type extends MessageType$1<SendChatMessageToRoomResponse> {
1442
- constructor();
1443
- }
1444
- /**
1445
- * @generated from protobuf message socket.chat.SendChatMessageToRoomResponse
1446
- */
1447
- interface SendChatMessageToRoomResponse {
1448
- /**
1449
- * @generated from protobuf field: socket.chat.ChatMessage message = 1;
1450
- */
1451
- message?: ChatMessage;
1452
- }
1453
- /**
1454
- * @generated MessageType for protobuf message socket.chat.SendChatMessageToRoomResponse
1455
- */
1456
- declare const SendChatMessageToRoomResponse: SendChatMessageToRoomResponse$Type;
1457
- declare class SendChatMessageToPeersResponse$Type extends MessageType$1<SendChatMessageToPeersResponse> {
1458
- constructor();
1459
- }
1460
- /**
1461
- * @generated from protobuf message socket.chat.SendChatMessageToPeersResponse
1462
- */
1463
- interface SendChatMessageToPeersResponse {
1464
- /**
1465
- * @generated from protobuf field: socket.chat.ChatMessage message = 1;
1466
- */
1467
- message?: ChatMessage;
1468
- }
1469
- /**
1470
- * @generated MessageType for protobuf message socket.chat.SendChatMessageToPeersResponse
1471
- */
1472
- declare const SendChatMessageToPeersResponse: SendChatMessageToPeersResponse$Type;
1473
- declare class PinChatMessageResponse$Type extends MessageType$1<PinChatMessageResponse> {
1474
- constructor();
1475
- }
1476
- /**
1477
- * @generated from protobuf message socket.chat.PinChatMessageResponse
1478
- */
1479
- interface PinChatMessageResponse {
1480
- /**
1481
- * @generated from protobuf field: string chat_id = 1;
1482
- */
1483
- chatId: string;
1484
- /**
1485
- * @generated from protobuf field: bool pinned = 2;
1486
- */
1487
- pinned: boolean;
1488
- /**
1489
- * @generated from protobuf field: optional string channel_id = 3;
1490
- */
1491
- channelId?: string;
1492
- /**
1493
- * @generated from protobuf field: socket.chat.ChatMessage message = 4;
1494
- */
1495
- message?: ChatMessage;
1496
- }
1497
- /**
1498
- * @generated MessageType for protobuf message socket.chat.PinChatMessageResponse
1499
- */
1500
- declare const PinChatMessageResponse: PinChatMessageResponse$Type;
1501
- declare class EditChatMessageResponse$Type extends MessageType$1<EditChatMessageResponse> {
1502
- constructor();
1503
- }
1504
- /**
1505
- * @generated from protobuf message socket.chat.EditChatMessageResponse
1506
- */
1507
- interface EditChatMessageResponse {
1508
- /**
1509
- * @generated from protobuf field: socket.chat.ChatMessage message = 1;
1510
- */
1511
- message?: ChatMessage;
1512
- }
1513
- /**
1514
- * @generated MessageType for protobuf message socket.chat.EditChatMessageResponse
1515
- */
1516
- declare const EditChatMessageResponse: EditChatMessageResponse$Type;
1517
- declare class DeleteChatMessageResponse$Type extends MessageType$1<DeleteChatMessageResponse> {
1518
- constructor();
1519
- }
1520
- /**
1521
- * @generated from protobuf message socket.chat.DeleteChatMessageResponse
1522
- */
1523
- interface DeleteChatMessageResponse {
1524
- /**
1525
- * @generated from protobuf field: string chat_id = 1;
1526
- */
1527
- chatId: string;
1528
- /**
1529
- * @generated from protobuf field: optional string channel_id = 2;
1530
- */
1531
- channelId?: string;
1532
- }
1533
- /**
1534
- * @generated MessageType for protobuf message socket.chat.DeleteChatMessageResponse
1535
- */
1536
- declare const DeleteChatMessageResponse: DeleteChatMessageResponse$Type;
1537
-
1538
- declare class EnablePluginResponse$Type extends MessageType$1<EnablePluginResponse> {
1539
- constructor();
1540
- }
1541
- /**
1542
- * Response sent whenever a plugin is enabled.
1543
- * Applicable for all requests that enable a plugin.
1544
- *
1545
- * @generated from protobuf message socket.plugin.EnablePluginResponse
1546
- */
1547
- interface EnablePluginResponse {
1548
- /**
1549
- * @generated from protobuf field: string plugin_id = 1;
1550
- */
1551
- pluginId: string;
1552
- /**
1553
- * @generated from protobuf field: string enabled_by = 2;
1554
- */
1555
- enabledBy: string;
1556
- }
1557
- /**
1558
- * @generated MessageType for protobuf message socket.plugin.EnablePluginResponse
1559
- */
1560
- declare const EnablePluginResponse: EnablePluginResponse$Type;
1561
- declare class EnablePluginsResponse$Type extends MessageType$1<EnablePluginsResponse> {
1562
- constructor();
1563
- }
1564
- /**
1565
- * Response sent when all enabled plugins are requested.
1566
- *
1567
- * @generated from protobuf message socket.plugin.EnablePluginsResponse
1568
- */
1569
- interface EnablePluginsResponse {
1570
- /**
1571
- * @generated from protobuf field: repeated socket.plugin.EnablePluginResponse plugins = 1;
1572
- */
1573
- plugins: EnablePluginResponse[];
1574
- }
1575
- /**
1576
- * @generated MessageType for protobuf message socket.plugin.EnablePluginsResponse
1577
- */
1578
- declare const EnablePluginsResponse: EnablePluginsResponse$Type;
1579
- declare class DisablePluginResponse$Type extends MessageType$1<DisablePluginResponse> {
1580
- constructor();
1581
- }
1582
- /**
1583
- * Response sent whenever a plugin is disabled.
1584
- * Applicable for all requests that disable a plugin.
1585
- *
1586
- * @generated from protobuf message socket.plugin.DisablePluginResponse
1587
- */
1588
- interface DisablePluginResponse {
1589
- /**
1590
- * @generated from protobuf field: string plugin_id = 1;
1591
- */
1592
- pluginId: string;
1593
- /**
1594
- * @generated from protobuf field: string disabled_by = 2;
1595
- */
1596
- disabledBy: string;
1597
- }
1598
- /**
1599
- * @generated MessageType for protobuf message socket.plugin.DisablePluginResponse
1600
- */
1601
- declare const DisablePluginResponse: DisablePluginResponse$Type;
1602
- declare class PluginStoreItem$Type extends MessageType$1<PluginStoreItem> {
1603
- constructor();
1604
- }
1605
- /**
1606
- * Response sent whenever a plugin store is updated.
1607
- * Applicable for all requests that access a store.
1608
- *
1609
- * @generated from protobuf message socket.plugin.PluginStoreItem
1610
- */
1611
- interface PluginStoreItem {
1612
- /**
1613
- * @generated from protobuf field: string timestamp = 1;
1614
- */
1615
- timestamp: string;
1616
- /**
1617
- * @generated from protobuf field: string peer_id = 2;
1618
- */
1619
- peerId: string;
1620
- /**
1621
- * @generated from protobuf field: string store_key = 3;
1622
- */
1623
- storeKey: string;
1624
- /**
1625
- * @generated from protobuf field: bytes payload = 4;
1626
- */
1627
- payload: Uint8Array;
1628
- }
1629
- /**
1630
- * @generated MessageType for protobuf message socket.plugin.PluginStoreItem
1631
- */
1632
- declare const PluginStoreItem: PluginStoreItem$Type;
1633
- declare class PluginStoreResponse$Type extends MessageType$1<PluginStoreResponse> {
1634
- constructor();
1635
- }
1636
- /**
1637
- * @generated from protobuf message socket.plugin.PluginStoreResponse
1638
- */
1639
- interface PluginStoreResponse {
1640
- /**
1641
- * @generated from protobuf field: string plugin_id = 1;
1642
- */
1643
- pluginId: string;
1644
- /**
1645
- * @generated from protobuf field: string store_name = 2;
1646
- */
1647
- storeName: string;
1648
- /**
1649
- * @generated from protobuf field: repeated socket.plugin.PluginStoreItem store_items = 3;
1650
- */
1651
- storeItems: PluginStoreItem[];
1652
- }
1653
- /**
1654
- * @generated MessageType for protobuf message socket.plugin.PluginStoreResponse
1655
- */
1656
- declare const PluginStoreResponse: PluginStoreResponse$Type;
1657
- declare class PluginEventResponse$Type extends MessageType$1<PluginEventResponse> {
1658
- constructor();
1659
- }
1660
- /**
1661
- * Response sent for custom plugin event.
1662
- *
1663
- * @generated from protobuf message socket.plugin.PluginEventResponse
1664
- */
1665
- interface PluginEventResponse {
1666
- /**
1667
- * @generated from protobuf field: string plugin_id = 1;
1668
- */
1669
- pluginId: string;
1670
- /**
1671
- * @generated from protobuf field: bytes plugin_data = 2;
1672
- */
1673
- pluginData: Uint8Array;
1674
- }
1675
- /**
1676
- * @generated MessageType for protobuf message socket.plugin.PluginEventResponse
1677
- */
1678
- declare const PluginEventResponse: PluginEventResponse$Type;
1679
-
1680
- declare class GetStagePeersResponse$Type extends MessageType$1<GetStagePeersResponse> {
1681
- constructor();
1682
- }
1683
- /**
1684
- * @generated from protobuf message socket.livestreaming.GetStagePeersResponse
1685
- */
1686
- interface GetStagePeersResponse {
1687
- /**
1688
- * @generated from protobuf field: repeated string stage_peers = 1;
1689
- */
1690
- stagePeers: string[];
1691
- }
1692
- /**
1693
- * @generated MessageType for protobuf message socket.livestreaming.GetStagePeersResponse
1694
- */
1695
- declare const GetStagePeersResponse: GetStagePeersResponse$Type;
1696
- declare class StageRequest$Type extends MessageType$1<StageRequest> {
1697
- constructor();
1698
- }
1699
- /**
1700
- * @generated from protobuf message socket.livestreaming.StageRequest
1701
- */
1702
- interface StageRequest {
1703
- /**
1704
- * @generated from protobuf field: string display_name = 1;
1705
- */
1706
- displayName: string;
1707
- /**
1708
- * @generated from protobuf field: string user_id = 2;
1709
- */
1710
- userId: string;
1711
- /**
1712
- * @generated from protobuf field: string peer_id = 3;
1713
- */
1714
- peerId: string;
1715
- }
1716
- /**
1717
- * @generated MessageType for protobuf message socket.livestreaming.StageRequest
1718
- */
1719
- declare const StageRequest: StageRequest$Type;
1720
- declare class GetStageRequestsResponse$Type extends MessageType$1<GetStageRequestsResponse> {
1721
- constructor();
1722
- }
1723
- /**
1724
- * @generated from protobuf message socket.livestreaming.GetStageRequestsResponse
1725
- */
1726
- interface GetStageRequestsResponse {
1727
- /**
1728
- * @generated from protobuf field: repeated socket.livestreaming.StageRequest stage_requests = 1;
1729
- */
1730
- stageRequests: StageRequest[];
1731
- }
1732
- /**
1733
- * @generated MessageType for protobuf message socket.livestreaming.GetStageRequestsResponse
1734
- */
1735
- declare const GetStageRequestsResponse: GetStageRequestsResponse$Type;
1736
- declare class DenyStageAccessRequest$Type extends MessageType$1<DenyStageAccessRequest> {
1737
- constructor();
1738
- }
1739
- /**
1740
- * @generated from protobuf message socket.livestreaming.DenyStageAccessRequest
1741
- */
1742
- interface DenyStageAccessRequest {
1743
- /**
1744
- * @generated from protobuf field: repeated string user_ids = 1;
1745
- */
1746
- userIds: string[];
1747
- }
1748
- /**
1749
- * @generated MessageType for protobuf message socket.livestreaming.DenyStageAccessRequest
1750
- */
1751
- declare const DenyStageAccessRequest: DenyStageAccessRequest$Type;
1752
-
1753
- declare class Poll$Type extends MessageType$1<Poll$1> {
1754
- constructor();
1755
- }
1756
- /**
1757
- * @generated from protobuf message socket.polls.Poll
1758
- */
1759
- interface Poll$1 {
1760
- /**
1761
- * @generated from protobuf field: string poll_id = 1;
1762
- */
1763
- pollId: string;
1764
- /**
1765
- * @generated from protobuf field: string created_by = 2;
1766
- */
1767
- createdBy: string;
1768
- /**
1769
- * @generated from protobuf field: string created_by_user_id = 3;
1770
- */
1771
- createdByUserId: string;
1772
- /**
1773
- * @generated from protobuf field: string question = 4;
1774
- */
1775
- question: string;
1776
- /**
1777
- * @generated from protobuf field: repeated socket.polls.PollOption options = 5;
1778
- */
1779
- options: PollOption$1[];
1780
- /**
1781
- * @generated from protobuf field: bool hide_votes = 6;
1782
- */
1783
- hideVotes: boolean;
1784
- /**
1785
- * @generated from protobuf field: bool anonymous = 7;
1786
- */
1787
- anonymous: boolean;
1788
- /**
1789
- * @generated from protobuf field: repeated string votes = 8;
1790
- */
1791
- votes: string[];
1792
- }
1793
- /**
1794
- * @generated MessageType for protobuf message socket.polls.Poll
1795
- */
1796
- declare const Poll$1: Poll$Type;
1797
- declare class PollOption$Type extends MessageType$1<PollOption$1> {
1798
- constructor();
1799
- }
1800
- /**
1801
- * @generated from protobuf message socket.polls.PollOption
1802
- */
1803
- interface PollOption$1 {
1804
- /**
1805
- * @generated from protobuf field: string text = 1;
1806
- */
1807
- text: string;
1808
- /**
1809
- * @generated from protobuf field: optional uint64 count = 2 [jstype = JS_NUMBER];
1810
- */
1811
- count?: number;
1812
- /**
1813
- * @generated from protobuf field: repeated socket.polls.PollVote votes = 3;
1814
- */
1815
- votes: PollVote[];
1816
- }
1817
- /**
1818
- * @generated MessageType for protobuf message socket.polls.PollOption
1819
- */
1820
- declare const PollOption$1: PollOption$Type;
1821
- declare class PollVote$Type extends MessageType$1<PollVote> {
1822
- constructor();
1823
- }
1824
- /**
1825
- * @generated from protobuf message socket.polls.PollVote
1826
- */
1827
- interface PollVote {
1828
- /**
1829
- * @generated from protobuf field: string user_id = 1;
1830
- */
1831
- userId: string;
1832
- /**
1833
- * @generated from protobuf field: string name = 2;
1834
- */
1835
- name: string;
1836
- }
1837
- /**
1838
- * @generated MessageType for protobuf message socket.polls.PollVote
1839
- */
1840
- declare const PollVote: PollVote$Type;
1841
- declare class UpdatePollResponse$Type extends MessageType$1<UpdatePollResponse> {
1842
- constructor();
1843
- }
1844
- /**
1845
- * @generated from protobuf message socket.polls.UpdatePollResponse
1846
- */
1847
- interface UpdatePollResponse {
1848
- /**
1849
- * @generated from protobuf field: socket.polls.Poll poll = 1;
1850
- */
1851
- poll?: Poll$1;
1852
- }
1853
- /**
1854
- * @generated MessageType for protobuf message socket.polls.UpdatePollResponse
1855
- */
1856
- declare const UpdatePollResponse: UpdatePollResponse$Type;
1857
-
1858
- declare class RecordingEvent$Type extends MessageType$1<RecordingEvent> {
1859
- constructor();
1860
- }
1861
- /**
1862
- * @generated from protobuf message socket.recording.RecordingEvent
1863
- */
1864
- interface RecordingEvent {
1865
- /**
1866
- * @generated from protobuf field: string recording_id = 1;
1867
- */
1868
- recordingId: string;
1869
- /**
1870
- * @generated from protobuf field: string err_message = 2;
1871
- */
1872
- errMessage: string;
1873
- /**
1874
- * @generated from protobuf field: common.RecordingType recording_type = 3;
1875
- */
1876
- recordingType: RecordingType$1;
1877
- }
1878
- /**
1879
- * @generated MessageType for protobuf message socket.recording.RecordingEvent
1880
- */
1881
- declare const RecordingEvent: RecordingEvent$Type;
1882
-
1883
- type SocketServiceCapability = keyof typeof Capabilities;
1884
- type SocketStateEvent = 'connected' | 'disconnected' | 'reconnected' | 'errored' | 'reconnecting' | 'reconnectAttempt' | 'reconnectFailure' | 'failed';
1885
- type SocketServiceCapabilities = SocketServiceCapability[];
1886
- interface SocketConnectionState {
1887
- state: Extract<SocketStateEvent, 'connected' | 'disconnected' | 'reconnecting' | 'failed'>;
1888
- reconnected: boolean;
1889
- reconnectionAttempt: number;
1890
- }
1891
- declare class SocketService {
1892
- readonly roomName: string;
1893
- readonly authToken: string;
1894
- readonly capabilities: SocketServiceCapabilities;
1895
- get joinAttempted(): boolean;
1896
- set joinAttempted(value: boolean);
1897
- get telemetry(): Telemetry;
1898
- get logger(): Logger;
1899
- get peerId(): string;
1900
- constructor(context: Context<ContextState>, { peerId, meetingId, authToken, capabilities, }: {
1901
- peerId: string;
1902
- meetingId: string;
1903
- authToken: string;
1904
- capabilities: SocketServiceCapabilities;
1905
- });
1906
- updateURL(peerID: string): void;
1907
- private static getSocketEdgeDomain;
1908
- get url(): string;
1909
- connect(): Promise<void>;
1910
- disconnect(): void;
1911
- get isConnected(): boolean;
1912
- sendMessage(event: number, protobuf?: Uint8Array, messageId?: string): boolean;
1913
- sendMessagePromise(event: number, protobuf?: Uint8Array, messageId?: string, resp?: number): Promise<{
1914
- id: string;
1915
- payload: Uint8Array;
1916
- }>;
1917
- sendMessagePromiseWithTimeout({ event, timeout, protobuf, messageId, resp, }: {
1918
- timeout: number;
1919
- event: number;
1920
- protobuf?: Uint8Array;
1921
- messageId?: string;
1922
- resp?: number;
1923
- }): Promise<{
1924
- id: string;
1925
- payload: Uint8Array;
1926
- }>;
1927
- on(event: number, listener: (message: {
1928
- id?: string;
1929
- payload?: Uint8Array;
1930
- }) => void): void;
1931
- onStateEvent(event: SocketStateEvent, listener: (...args: any) => void): void;
1932
- removeListener(event: number, listener: (message: {
1933
- id?: string;
1934
- payload?: Uint8Array;
1935
- }) => void): void;
1936
- removeListeners(event: number): void;
1937
- flush(): any;
1938
- handleSocketConnectionEvents(): void;
1939
- }
1940
-
1941
- declare enum ChatMessageType {
1942
- TEXT = 0,
1943
- IMAGE = 1,
1944
- FILE = 2,
1945
- CUSTOM = 3
1946
- }
1947
- type ChatSocketMessage = SendChatMessageToRoomResponse | SendChatMessageToPeersResponse | EditChatMessageResponse | DeleteChatMessageResponse;
1948
- interface SearchFilters {
1949
- timestamp?: number;
1950
- limit?: number;
1951
- reversed?: boolean;
1952
- offset?: number;
1953
- }
1954
- declare class ChatSocketHandler {
1955
- get telemetry(): Telemetry;
1956
- get logger(): Logger;
1957
- constructor(context: Context<ContextState>, socketService: SocketService);
1958
- getChatMessages(): Promise<{
1959
- id: string;
1960
- payload: Uint8Array;
1961
- }>;
1962
- getChatMessagesPaginated(timeStamp: number, size: number, reversed: boolean, filters?: GetPaginatedChatMessageFilters['filters']): Promise<GetPaginatedChatMessageRoomResponse>;
1963
- sendMessageToRoom(message: string, messageType: ChatMessageType): void;
1964
- sendMessageToPeers(message: string, messageType: ChatMessageType, peerIds: string[]): void;
1965
- sendMessage(message: string, messageType: ChatMessageType, peerIds?: string[]): void;
1966
- editMessage(chatId: string, message: string, payloadType: ChatMessageType, pinned?: boolean): Promise<ChatMessage>;
1967
- deleteMessage(chatId: string): Promise<{
1968
- id: string;
1969
- }>;
1970
- searchMessages(query: string, filters: SearchFilters): Promise<ChatMessage[]>;
1971
- setPinState(id: string, pin: boolean): Promise<PinChatMessageResponse>;
1972
- on(event: number, handler: (socketMessage: ChatSocketMessage) => void): void;
1973
- }
1974
-
1975
- declare class SelectedPeers {
1976
- private readonly _activeSpeakerPeers;
1977
- private readonly _compulsoryPeers;
1978
- constructor();
1979
- add(peerId: string, priority: number, context: Context<ContextState>): number;
1980
- delete(peerId: string, context: Context<ContextState>): void;
1981
- index(peerId: string): number;
1982
- get peers(): string[];
1983
- get compulsoryPeers(): string[];
1984
- get activeSpeakerPeers(): string[];
1985
- private _removeFromCompulsoryPeer;
1986
- }
1987
-
1988
- type PipEvents = {
1989
- ['cameraToggled']: () => void;
1990
- ['micToggled']: () => void;
1991
- ['hangup']: () => void;
1992
- ['pipStarted']: () => void;
1993
- ['pipEnded']: () => void;
1994
- ['*']: (eventName: string, ...args: any[]) => void;
1995
- };
1996
- declare class Pip extends TypedEventEmitter<PipEvents> {
1997
- private constructor();
1998
- static _init(context: Context<ContextState>, self: Self): Promise<Pip>;
1999
- private setupIcon;
2000
- overrideIcon(icon: 'handRaise' | 'pin', value: string): Promise<void>;
2001
- private constructImage;
2002
- private createVideoContainer;
2003
- private setupEventListeners;
2004
- private cleanupEventListeners;
2005
- private enablePipMediaControls;
2006
- private onSelfVideoUpdateListener;
2007
- private onSelfAudioUpdateListener;
2008
- private handlePipMediaControls;
2009
- private createCanvas;
2010
- private eventCallback;
2011
- private setupMediaSessionEvents;
2012
- private mountAudioEvents;
2013
- private mountVideoEvents;
2014
- private unmountEvents;
2015
- private getSources;
2016
- private drawEmptyTile;
2017
- private drawIcons;
2018
- private drawTile;
2019
- private calcGridElemSize;
2020
- private paintCanvas;
2021
- private animate;
2022
- isSupported(): boolean;
2023
- get isActive(): boolean;
2024
- private cleanup;
2025
- init({ height, width }?: {
2026
- height?: number;
2027
- width?: number;
2028
- }): void;
2029
- private updateMediaSession;
2030
- enableSource(source: string): void;
2031
- disableSource(source: string): void;
2032
- private generateAvatar;
2033
- addSource(id: string, element: HTMLVideoElement, enabled: boolean, pinned?: boolean, displayText?: string, imageUrl?: string, handRaised?: boolean): void;
2034
- updateSource(id: string, source: any): void;
2035
- removeSource(id: string): void;
2036
- removePinnedSource(): void;
2037
- removeAllSources(): void;
2038
- enable(): void;
2039
- disable: (partial?: boolean) => void;
2040
- }
2041
-
2042
- declare enum TransportState {
2043
- NEW = "new",
2044
- CONNECTING = "connecting",
2045
- RECONNECTING = "reconnecting",
2046
- DISCONNECTED = "disconnected",
2047
- CONNECTED = "connected",
2048
- FAILED = "failed",
2049
- CLOSED = "closed"
2050
- }
2051
- type MediaConnectionState = {
2052
- recv: {
2053
- state: `${TransportState}`;
2054
- };
2055
- send: {
2056
- state: `${TransportState}`;
2057
- };
2058
- };
2059
-
2060
- interface BasicParticipant {
2061
- userId: string;
2062
- name?: string;
2063
- picture?: string;
2064
- customParticipantId: string;
2065
- }
2066
- declare class BasicParticipantsMap extends CustomEventEmitter<'participantsUpdate'> {
2067
- constructor(logger: Logger);
2068
- __set(objId: string, obj: BasicParticipant): Map<string, BasicParticipant>;
2069
- __clear(): void;
2070
- get(objId: string): BasicParticipant;
2071
- toArray(): BasicParticipant[];
2072
- }
2073
-
2074
- type EventHandlerTypes = PeerInfoResponse | GetWaitingRoomRequests | RecordingEvent | UpdatePeersPresetResponse | PeerJoinBroadcastResponse | PeerJoinCompleteResponse | GlobalPeerPinningBroadcastResponse | PeerLeaveResponse | SelectedPeersResponse | SelectedPeersDiffResponse;
2075
- declare class RoomSocketHandler {
2076
- socket: SocketService;
2077
- get telemetry(): Telemetry;
2078
- get logger(): Logger;
2079
- cleanup(): void;
2080
- constructor(context: Context<ContextState>, socketService: SocketService);
2081
- joinRoom(opts: {
2082
- name: string;
2083
- id: string;
2084
- userId: string;
2085
- customParticipantId: string;
2086
- picture?: string;
2087
- }): Promise<{
2088
- peer: Peer;
2089
- }>;
2090
- getAllAddedParticipants(): Promise<BasicParticipant[]>;
2091
- getRoomPeers(searchQuery: string, limit: number, offset: number): Promise<RoomPeersInfoResponse>;
2092
- getRoomPeersNonPaginated(): Promise<RoomPeersInfoResponse>;
2093
- getStagePeers(): Promise<RoomPeersInfoResponse>;
2094
- getPeerInfo(peerId: string): Promise<PeerInfoResponse>;
2095
- getRoomState(): Promise<RoomInfoResponse>;
2096
- getRoomStageState(): Promise<GetRoomStageStateResponse>;
2097
- broadcastMessage(type: string, payload: BroadcastMessagePayload): Promise<{
2098
- id: string;
2099
- payload: Uint8Array;
2100
- }>;
2101
- broadcastToMeetings(type: string, meetingIds: string[], payload: BroadcastMessagePayload): Promise<{
2102
- id: string;
2103
- payload: Uint8Array;
2104
- }>;
2105
- broadcastToPeers(type: string, peerIds: string[], payload: BroadcastMessagePayload): Promise<boolean>;
2106
- leaveRoom(): Promise<void>;
2107
- kick(peerId: string): Promise<void>;
2108
- kickAll(propagateKickAll?: boolean): Promise<void>;
2109
- getWaitingRoomRequests(): void;
2110
- acceptWaitingRoomRequest(userIds: string[]): void;
2111
- rejectWaitingRoomRequest(userIds: string[]): void;
2112
- updatePermissions(userIds: string[], patch: PresetUpdates): Promise<{
2113
- id: string;
2114
- payload: Uint8Array;
2115
- }>;
2116
- private handleSocketEvents;
2117
- on(event: number, handler: (message: EventHandlerTypes) => void): void;
2118
- getUserPermissions(userId: string): Promise<Pick<PresetTypeV2['permissions'], 'chat' | 'polls' | 'plugins'>>;
2119
- }
2120
-
2121
- type TranscriptionData = {
2122
- id: string;
2123
- name: string;
2124
- peerId: string;
2125
- userId: string;
2126
- customParticipantId: string;
2127
- transcript: string;
2128
- isPartialTranscript: boolean;
2129
- date: Date;
2130
- };
2131
- type AiEvents = {
2132
- ['transcript']: (t: TranscriptionData) => void;
2133
- ['*']: (event: string, ...args: any[]) => void;
2134
- };
2135
- declare class Ai extends TypedEventEmitter<AiEvents> {
2136
- transcripts: TranscriptionData[];
2137
- get telemetry(): Telemetry;
2138
- constructor(context: Context<ContextState>);
2139
- static init(context: Context<ContextState>, transcriptionEnabled: boolean): Promise<Ai>;
2140
- static parseTranscript(transcriptData: string, isPartialTranscript?: boolean): TranscriptionData | undefined;
2141
- static parseTranscripts(transcriptData: string): TranscriptionData[];
2142
- getActiveTranscript(): Promise<void>;
2143
- onTranscript(transcript: TranscriptionData): Promise<void>;
2144
- }
2145
-
2146
- type ActiveTabType = 'screenshare' | 'plugin';
2147
- interface ActiveTab {
2148
- type: ActiveTabType;
2149
- id: string;
2150
- }
2151
- declare enum TabChangeSource {
2152
- User = 0,
2153
- Meeting = 1
2154
- }
2155
- interface MediaConnectionUpdate {
2156
- transport: 'consuming' | 'producing';
2157
- state: `${TransportState}`;
2158
- reconnected: boolean;
2159
- }
2160
- type MetaEvents = {
2161
- ['mediaConnectionUpdate']: (payload: MediaConnectionUpdate) => void;
2162
- ['socketConnectionUpdate']: (state: SocketConnectionState) => void;
2163
- ['poorConnection']: (payload: {
2164
- score: number;
2165
- }) => void;
2166
- ['meetingStartTimeUpdate']: (payload: {
2167
- meetingStartedTimestamp: Date;
2168
- }) => void;
2169
- ['transcript']: (t: TranscriptionData) => void;
2170
- ['activeTabUpdate']: (tab: ActiveTab) => void;
2171
- ['selfTabUpdate']: (tab: ActiveTab) => void;
2172
- ['broadcastTabChangesUpdate']: (broadcastTabChanges: boolean) => void;
2173
- ['*']: (event: string, ...args: any[]) => void;
2174
- };
2175
- declare class Meta extends TypedEventEmitter<MetaEvents> {
2176
- selfActiveTab: ActiveTab | undefined;
2177
- get socketState(): SocketConnectionState;
2178
- get mediaState(): MediaConnectionState;
2179
- broadcastTabChanges: boolean;
2180
- viewType: string;
2181
- meetingStartedTimestamp: Date;
2182
- meetingTitle: string;
2183
- sessionId: string;
2184
- constructor(context: Context<ContextState>, self: Self, viewType: string, roomSocketHandler: RoomSocketHandler, meetingTitle: string);
2185
- get meetingId(): string;
2186
- setBroadcastTabChanges(broadcastTabChanges: boolean): void;
2187
- setSelfActiveTab(spotlightTab: ActiveTab, tabChangeSource: TabChangeSource): void;
2188
- private assertActiveTabToRoom;
2189
- }
2190
-
2191
- interface MapEvents<T extends EventMap> {
2192
- onAddEvent?: keyof T;
2193
- onDeleteEvent?: keyof T;
2194
- onClearEvent?: keyof T;
2195
- }
2196
- type ModifyPrependObject<T extends EventMap, U> = {
2197
- [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>;
2198
- } & {
2199
- ['*']: (event: String, ...args: any[]) => void;
2200
- };
2201
- declare class ClientMap<T extends (EventMap & WildCardEvent<T>), U extends {
2202
- id: string;
2203
- } & TypedEventEmitter<T>, V extends EventMap> extends Map<string, U> {
2204
- readonly onAddEvent: keyof V;
2205
- readonly onDeleteEvent: keyof V;
2206
- readonly onClearEvent: keyof V;
2207
- constructor(options: MapEvents<V>, logger?: Logger);
2208
- emit<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, ...args: Parameters<(V | ModifyPrependObject<T, U>)[E]>): boolean;
2209
- on<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2210
- "*": (event: String, ...args: any[]) => void;
2211
- } & V>;
2212
- addListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2213
- "*": (event: String, ...args: any[]) => void;
2214
- } & V>;
2215
- off<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2216
- "*": (event: String, ...args: any[]) => void;
2217
- } & V>;
2218
- once<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2219
- "*": (event: String, ...args: any[]) => void;
2220
- } & V>;
2221
- prependListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2222
- "*": (event: String, ...args: any[]) => void;
2223
- } & V>;
2224
- prependOnceListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2225
- "*": (event: String, ...args: any[]) => void;
2226
- } & V>;
2227
- removeListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2228
- "*": (event: String, ...args: any[]) => void;
2229
- } & V>;
2230
- removeAllListeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event?: E): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2231
- "*": (event: String, ...args: any[]) => void;
2232
- } & V>;
2233
- listeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): Function[];
2234
- listenerCount<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): number;
2235
- getMaxListeners(): number;
2236
- setMaxListeners(n: number): TypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
2237
- "*": (event: String, ...args: any[]) => void;
2238
- } & V>;
2239
- eventNames(): (string | symbol)[];
2240
- add(obj: U, emitEvent?: boolean): this;
2241
- set(objId: string, obj: U, emitEvent?: boolean): this;
2242
- delete(objId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
2243
- clear(emitEvent?: boolean, removeListeners?: boolean): void;
2244
- toArray(): U[];
2245
- }
2246
-
2247
- type PluginSocketMessage = DisablePluginResponse | EnablePluginResponse | PluginEventResponse | PluginStoreResponse | SendChatMessageToPeersResponse | SendChatMessageToRoomResponse;
2248
- declare class PluginSocketHandler {
2249
- constructor(context: Context<ContextState>, socketService: SocketService);
2250
- get logger(): Logger;
2251
- addPlugin(pluginId: string, staggered: boolean): void;
2252
- removePlugin(pluginId: string): void;
2253
- getActivePlugins(): Promise<EnablePluginsResponse>;
2254
- customPluginEventToRoom(pluginId: string, data: any, messageId?: string): void;
2255
- customPluginEventToPeers(pluginId: string, peerIds: string[], data: any, messageId?: string): void;
2256
- enablePluginForRoom(pluginId: string, messageId?: string): void;
2257
- enablePluginForPeers(pluginId: string, peerIds: string[], messageId?: string): void;
2258
- disablePluginForRoom(pluginId: string, messageId?: string): void;
2259
- disablePluginForPeers(pluginId: string, peerIds: string[], messageId?: string): void;
2260
- storeInsertKeys(pluginId: string, store: string, insertKeys: {
2261
- key: string;
2262
- payload?: any;
2263
- }[], messageId?: string): void;
2264
- storeGetKeys(pluginId: string, store: string, getKeys: {
2265
- key: string;
2266
- }[], messageId?: string): void;
2267
- storeDeleteKeys(pluginId: string, store: string, deleteKeys: {
2268
- key: string;
2269
- }[], messageId?: string): void;
2270
- storeDelete(pluginId: string, store: string, messageId?: string): void;
2271
- getPluginDataOld(pluginId: string, store: string): void;
2272
- storePluginDataOld(pluginId: string, store: string, data: any): void;
2273
- on(event: number, handler: (socketMessage: PluginSocketMessage, messageId?: string) => void): void;
2274
- }
2275
-
2276
- interface PluginResponse {
2277
- baseURL: string;
2278
- createdAt: string;
2279
- description: string;
2280
- id: string;
2281
- name: string;
2282
- organizationId: string;
2283
- picture: string;
2284
- private: boolean;
2285
- published: boolean;
2286
- staggered: boolean;
2287
- tags: string[];
2288
- type: string;
2289
- updatedAt: string;
2290
- }
2291
- interface PluginViews {
2292
- [viewId: string]: {
2293
- url: string;
2294
- suggestedPosition: string;
2295
- };
2296
- }
2297
- interface PluginConfig {
2298
- name: string;
2299
- pluginId: string;
2300
- version: string;
2301
- description: string;
2302
- author?: string;
2303
- repository?: string;
2304
- tags?: string[];
2305
- picture?: string;
2306
- url?: string;
2307
- files: {
2308
- include: string[];
2309
- exclude?: string[];
2310
- };
2311
- views?: PluginViews;
2312
- contentScript?: string;
2313
- permissions?: {
2314
- [key: string]: {
2315
- default: boolean;
2316
- description: string;
2317
- };
2318
- };
2319
- config?: {
2320
- [key: string]: string;
2321
- };
2322
- }
2323
- interface PluginIframeMessage {
2324
- type: number;
2325
- uuid: string;
2326
- payload?: any;
2327
- }
2328
- interface SendDataOptions {
2329
- eventName: string;
2330
- data: any;
2331
- }
2332
- interface ReactNativeWebViewEvent {
2333
- nativeEvent: {
2334
- data: string;
2335
- };
2336
- }
2337
- interface ReactNativeWebView {
2338
- src: string;
2339
- allow: string;
2340
- title: string;
2341
- props: {
2342
- onMessage: (event: ReactNativeWebViewEvent) => void;
2343
- };
2344
- postMessage: (message: string) => void;
2345
- }
2346
- declare const PluginEventKeys: {
2347
- stateUpdate: string;
2348
- ready: string;
2349
- closed: string;
2350
- toggleViewMode: string;
2351
- enabled: string;
2352
- '* ': string;
2353
- };
2354
- type _string = string & {
2355
- _?: any;
2356
- };
2357
- type PluginEvents$1 = keyof typeof PluginEventKeys | _string;
2358
- declare class Plugin extends CustomEventEmitter<PluginEvents$1> {
2359
- readonly baseURL: string;
2360
- readonly createdAt: Date;
2361
- readonly description: string;
2362
- readonly id: string;
2363
- readonly name: string;
2364
- readonly organizationId: string;
2365
- readonly picture: string;
2366
- readonly private: boolean;
2367
- readonly published: boolean;
2368
- readonly staggered: boolean;
2369
- readonly tags: string[];
2370
- readonly type: string;
2371
- readonly updatedAt: Date;
2372
- config?: PluginConfig;
2373
- active: boolean;
2374
- iframes: Map<string, {
2375
- iframe: HTMLIFrameElement | ReactNativeWebView;
2376
- listener?: (message: MessageEvent) => void;
2377
- }>;
2378
- enabledBy: string;
2379
- get telemetry(): Telemetry;
2380
- constructor(context: Context<ContextState>, { baseURL, createdAt, description, id, name, organizationId, picture, private: isPrivate, published, staggered, tags, type, updatedAt, }: PluginResponse, pluginSocketHandler: PluginSocketHandler, self: Self, participants: Participants, chat: Readonly<Chat>, meetingTitle: string);
2381
- sendIframeEvent(message: PluginIframeMessage): void;
2382
- private handleIframeMessage;
2383
- sendData(payload: SendDataOptions): void;
2384
- removePluginView(viewId?: string): void;
2385
- addPluginView(iframe: HTMLIFrameElement | ReactNativeWebView, viewId?: string): void;
2386
- private setActive;
2387
- activateForSelf(): Promise<void>;
2388
- deactivateForSelf(): void;
2389
- enable(): Promise<void>;
2390
- disable(): void;
2391
- activate(): Promise<void>;
2392
- deactivate(): Promise<void>;
2393
- }
2394
-
2395
- interface ResponseStatus {
2396
- success: boolean;
2397
- message: string;
2398
- }
2399
-
2400
- type MediaPermission$1 = 'NOT_REQUESTED' | 'ACCEPTED' | 'DENIED' | 'SYSTEM_DENIED' | 'COULD_NOT_START' | 'NO_DEVICES_AVAILABLE' | 'CANCELED';
2401
-
2402
- declare class LocalMediaHandler extends CustomEventEmitter<LocalMediaEvents> {
2403
- get telemetry(): Telemetry;
2404
- audioUpdateInProgress: boolean;
2405
- videoUpdateInProgress: boolean;
2406
- constructor(context: Context<ContextState>, mediaConstraints: MediaConstraints, isNonPreferredDevice?: (media: MediaDeviceInfo) => boolean, autoSwitchDevice?: boolean);
2407
- set context(context: Context<ContextState>);
2408
- private onVisibilityChange;
2409
- repopulateAvailableDevices(): Promise<boolean>;
2410
- setupStreams({ audio, video, }: {
2411
- audio: boolean;
2412
- video: boolean;
2413
- }): Promise<void>;
2414
- getCurrentDevices(): {
2415
- audio: MediaDeviceInfo;
2416
- video: MediaDeviceInfo;
2417
- speaker: MediaDeviceInfo;
2418
- };
2419
- get permissions(): {
2420
- audio?: MediaPermission$1;
2421
- video?: MediaPermission$1;
2422
- screenshare?: MediaPermission$1;
2423
- };
2424
- getAllDevices(): Promise<InputDeviceInfo[]>;
2425
- getDeviceById(deviceId: string, kind?: 'audioinput' | 'audiooutput' | 'videoinput'): Promise<MediaDeviceInfo>;
2426
- private onAudioTrackMuted;
2427
- private onAudioTrackChanged;
2428
- get rawAudioTrack(): MediaStreamTrack;
2429
- get audioTrack(): MediaStreamTrack;
2430
- get audioEnabled(): boolean;
2431
- enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
2432
- disableAudio(): void;
2433
- getAudioDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
2434
- setAudioDevice(device: MediaDeviceInfo, { saveDevicePreference }: {
2435
- saveDevicePreference: boolean;
2436
- }): Promise<void>;
2437
- setupSpeaker(): Promise<void>;
2438
- setSpeakerDevice(device: MediaDeviceInfo, { saveDevicePreference }: {
2439
- saveDevicePreference: boolean;
2440
- }): Promise<void>;
2441
- private onVideoTrackChanged;
2442
- private onVideoTrackEnded;
2443
- get rawVideoTrack(): MediaStreamTrack;
2444
- get videoTrack(): MediaStreamTrack;
2445
- get videoEnabled(): boolean;
2446
- enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
2447
- disableVideo(): void;
2448
- getVideoDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
2449
- setVideoDevice(device: MediaDeviceInfo, { saveDevicePreference }: {
2450
- saveDevicePreference: boolean;
2451
- }): Promise<void>;
2452
- updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
2453
- private onScreenShareEnded;
2454
- get screenShareTracks(): {
2455
- audio: MediaStreamTrack;
2456
- video: MediaStreamTrack;
2457
- };
2458
- get screenShareEnabled(): boolean;
2459
- enableScreenShare(): Promise<void>;
2460
- disableScreenShare(): Promise<void>;
2461
- updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
2462
- getSpeakerDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
2463
- addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
2464
- removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
2465
- removeAllAudioMiddlewares(): Promise<ResponseStatus>;
2466
- addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
2467
- removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
2468
- removeAllVideoMiddlewares(): Promise<ResponseStatus>;
2469
- setVideoMiddlewareGlobalConfig(config: VideoMiddlewareGlobalConfig): Promise<void>;
2470
- destruct(): void;
2471
- onDeviceChange(changedDevices: {
2472
- added: MediaDeviceInfo[];
2473
- removed: MediaDeviceInfo[];
2474
- devices: MediaDeviceInfo[];
2475
- }, skipDeviceChange: boolean): Promise<void>;
2476
- removeAllTracks(): void;
2477
- removeAudioTrack(): void;
2478
- removeVideoTrack(): void;
2479
- removeDocumentEventListeners(): Promise<void>;
2480
- }
2481
-
2482
- declare enum MediaPermission {
2483
- NOT_REQUESTED = 0,
2484
- ACCEPTED = 1,
2485
- DENIED = 2,
2486
- CANCELED = 3,
2487
- SYSTEM_DENIED = 4,
2488
- COULD_NOT_START = 5,
2489
- NO_DEVICES_AVAILABLE = 6
2490
- }
2491
-
2492
- type AudioMiddleware = (audioContext: AudioContext) => Promise<ScriptProcessorNode | AudioWorkletNode>;
2493
-
2494
- type VideoMiddleware = (() => Promise<(canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D) => Promise<void>>) | ((helpers: {
2495
- canvas: HTMLCanvasElement;
2496
- WorkerTimers: typeof WorkerTimers;
2497
- }) => Promise<void>);
2498
- type VideoMiddlewareGlobalConfig = {
2499
- disablePerFrameCanvasRendering: boolean;
2500
- };
2501
-
2502
- type PresetMediaConstraints = PresetV2CamelCased['config']['media'];
2503
- type AudioQualityConstraints = {
2504
- echoCancellation?: boolean;
2505
- noiseSupression?: boolean;
2506
- autoGainControl?: boolean;
2507
- enableStereo?: boolean;
2508
- enableHighBitrate?: boolean;
2509
- };
2510
- type VideoQualityConstraints = {
2511
- width: {
2512
- ideal: number;
2513
- };
2514
- height: {
2515
- ideal: number;
2516
- };
2517
- frameRate?: {
2518
- ideal: number;
2519
- };
2520
- };
2521
- type ScreenshareQualityConstraints = {
2522
- width?: {
2523
- max: number;
2524
- };
2525
- height?: {
2526
- max: number;
2527
- };
2528
- frameRate?: {
2529
- ideal: number;
2530
- max: number;
2531
- };
2532
- displaySurface?: 'window' | 'monitor' | 'browser';
2533
- selfBrowserSurface?: 'include' | 'exclude';
2534
- };
2535
- interface ClientMediaTrackConstraints extends MediaTrackConstraints {
2536
- optional?: Array<object>;
2537
- }
2538
- interface ClientMediaStreamConstraints extends MediaStreamConstraints {
2539
- audio?: boolean | ClientMediaTrackConstraints;
2540
- }
2541
- type MediaConstraints = {
2542
- audio?: AudioQualityConstraints;
2543
- video?: MediaVideoQualityType | VideoQualityConstraints;
2544
- screenshare?: ScreenshareQualityConstraints;
2545
- };
2546
-
2547
- type PresetV2CamelCased = {
2548
- config: {
2549
- viewType: ViewType;
2550
- media: {
2551
- audio: {
2552
- enableStereo: boolean;
2553
- enableHighBitrate: boolean;
2554
- };
2555
- video: {
2556
- quality: MediaVideoQualityType;
2557
- frameRate: number;
2558
- simulcast?: boolean;
2559
- };
2560
- screenshare: {
2561
- quality: MediaScreenShareQualityType;
2562
- frameRate: number;
2563
- };
2564
- };
2565
- livestreamViewerQualities: LivestreamViewerMediaQualityType[];
2566
- maxVideoStreams: {
2567
- mobile: number;
2568
- desktop: number;
2569
- };
2570
- maxScreenshareCount: number;
2571
- };
2572
- permissions: {
2573
- acceptWaitingRequests: boolean;
2574
- canAcceptProductionRequests: boolean;
2575
- canEditDisplayName: boolean;
2576
- canRecord: boolean;
2577
- canLivestream: boolean;
2578
- canSpotlight?: boolean;
2579
- disableParticipantAudio: boolean;
2580
- disableParticipantScreensharing: boolean;
2581
- disableParticipantVideo: boolean;
2582
- kickParticipant: boolean;
2583
- pinParticipant: boolean;
2584
- plugins: {
2585
- canClose: boolean;
2586
- canStart: boolean;
2587
- canEditConfig?: boolean;
2588
- config: {
2589
- [pluginId: string]: Partial<{
2590
- accessControl: PluginAccessControls.FULL_ACCESS | PluginAccessControls.VIEW_ONLY;
2591
- disabled: boolean;
2592
- handlesViewOnly: boolean;
2593
- }>;
2594
- };
2595
- };
2596
- waitingRoomType: WaitingRoomTypes;
2597
- polls: {
2598
- canCreate: boolean;
2599
- canVote: boolean;
2600
- canView: boolean;
2601
- };
2602
- media: {
2603
- video: {
2604
- canProduce: MediaProductionPermissionType;
2605
- };
2606
- audio: {
2607
- canProduce: MediaProductionPermissionType;
2608
- };
2609
- screenshare: {
2610
- canProduce: MediaProductionPermissionType;
2611
- };
2612
- };
2613
- chat: {
2614
- public: {
2615
- canSend: boolean;
2616
- text: boolean;
2617
- files: boolean;
2618
- };
2619
- private?: {
2620
- canSend: boolean;
2621
- canReceive: boolean;
2622
- text: boolean;
2623
- files: boolean;
2624
- };
2625
- };
2626
- isRecorder?: boolean;
2627
- recorderType: RecorderType$1;
2628
- hiddenParticipant: boolean;
2629
- showParticipantList: boolean;
2630
- canChangeParticipantPermissions: boolean;
2631
- connectedMeetings: {
2632
- canAlterConnectedMeetings: boolean;
2633
- canSwitchConnectedMeetings: boolean;
2634
- canSwitchToParentMeeting: boolean;
2635
- };
2636
- acceptStageRequests?: boolean;
2637
- stageEnabled?: boolean;
2638
- stageAccess?: MediaProductionPermissionType;
2639
- transcriptionEnabled: boolean;
2640
- };
2641
- ui: {
2642
- designTokens: {
2643
- borderRadius: BorderRadius;
2644
- borderWidth: BorderWidth;
2645
- colors: {
2646
- brand: {
2647
- 300: string;
2648
- 400: string;
2649
- 500: string;
2650
- 600: string;
2651
- 700: string;
2652
- };
2653
- background: {
2654
- 600: string;
2655
- 700: string;
2656
- 800: string;
2657
- 900: string;
2658
- 1000: string;
2659
- };
2660
- danger: string;
2661
- success: string;
2662
- textOnBrand: string;
2663
- text: string;
2664
- videoBg: string;
2665
- warning: string;
2666
- };
2667
- fontFamily?: string;
2668
- googleFont?: string;
2669
- logo?: string;
2670
- spacingBase: number;
2671
- theme: Theme;
2672
- };
2673
- configDiff: any;
2674
- };
2675
- version?: string;
2676
- id?: string;
2677
- name?: string;
2678
- };
2679
- type MaxVideoStreams = PresetV2CamelCased['config']['maxVideoStreams'];
2680
- declare class ThemePreset {
2681
- private constructor();
2682
- static fromResponse(preset: PresetV2CamelCased): ThemePreset;
2683
- static default(): ThemePreset;
2684
- static init(preset?: PresetV2CamelCased, useDefault?: boolean): ThemePreset;
2685
- get setupScreen(): Readonly<{
2686
- isEnabled: boolean;
2687
- }>;
2688
- get waitingRoom(): Readonly<{
2689
- isEnabled: boolean;
2690
- }>;
2691
- get controlBar(): Readonly<{
2692
- isEnabled: boolean;
2693
- elements?: {
2694
- chat?: boolean;
2695
- fullscreen?: boolean;
2696
- invite?: boolean;
2697
- layout?: boolean;
2698
- participants?: boolean;
2699
- plugins?: boolean;
2700
- polls?: boolean;
2701
- reactions?: boolean;
2702
- screenshare?: boolean;
2703
- };
2704
- }>;
2705
- get header(): Readonly<{
2706
- isEnabled: boolean;
2707
- elements: {
2708
- logo: string;
2709
- timer: boolean;
2710
- title: boolean;
2711
- participantCount: boolean;
2712
- changeLayout: boolean;
2713
- };
2714
- }>;
2715
- get pipMode(): Readonly<boolean>;
2716
- get viewType(): Readonly<ViewType>;
2717
- get livestreamViewerQualities(): Readonly<LivestreamViewerMediaQualityType[]>;
2718
- get maxVideoStreams(): Readonly<MaxVideoStreams>;
2719
- get maxScreenShareCount(): Readonly<number>;
2720
- get plugins(): Readonly<string[]>;
2721
- get disabledPlugins(): Readonly<string[]>;
2722
- get designTokens(): Readonly<PresetV2CamelCased['ui']['designTokens']>;
2723
- get configDiff(): Readonly<PresetV2CamelCased['ui']['configDiff']>;
2724
- get isSimulcastEnabled(): Readonly<boolean>;
2725
- get mediaConstraints(): Readonly<PresetMediaConstraints>;
2726
- get name(): string;
2727
- }
2728
-
2729
- type PresetPermissions = PresetV2CamelCased['permissions'];
2730
- type PermissionEvents = {
2731
- ['chatUpdate']: () => void;
2732
- ['pollsUpdate']: () => void;
2733
- ['pluginsUpdate']: () => void;
2734
- ['permissionsUpdate']: (patch: PresetUpdates) => void;
2735
- ['*']: () => void;
2736
- };
2737
- declare class PermissionPreset extends TypedEventEmitter<PermissionEvents> {
2738
- private constructor();
2739
- private setupEvents;
2740
- static fromResponse(response: PresetPermissions, viewType: ViewType, context: Context<ContextState>): PermissionPreset;
2741
- static default(context: Context<ContextState>, viewType: ViewType): PermissionPreset;
2742
- static init(context: Context<ContextState>, viewType: ViewType, response?: PresetPermissions): PermissionPreset;
2743
- get mediaRoomType(): string;
2744
- get stageEnabled(): Readonly<boolean>;
2745
- get acceptStageRequests(): Readonly<boolean>;
2746
- get stageAccess(): Readonly<MediaProductionPermissionType>;
2747
- get acceptWaitingRequests(): Readonly<boolean>;
2748
- get requestProduceVideo(): Readonly<boolean>;
2749
- get requestProduceAudio(): Readonly<boolean>;
2750
- get requestProduceScreenshare(): Readonly<boolean>;
2751
- get canAllowParticipantAudio(): Readonly<boolean>;
2752
- get canAllowParticipantScreensharing(): Readonly<boolean>;
2753
- get canAllowParticipantVideo(): Readonly<boolean>;
2754
- get canDisableParticipantAudio(): Readonly<boolean>;
2755
- get canDisableParticipantVideo(): Readonly<boolean>;
2756
- get kickParticipant(): Readonly<boolean>;
2757
- get pinParticipant(): Readonly<boolean>;
2758
- get canRecord(): Readonly<boolean>;
2759
- get waitingRoomType(): Readonly<WaitingRoomTypes>;
2760
- get waitingRoomBehaviour(): Readonly<WaitingRoomTypes>;
2761
- get plugins(): Readonly<PresetPermissions['plugins']>;
2762
- get polls(): Readonly<PresetPermissions['polls']>;
2763
- get produceVideo(): Readonly<MediaProductionPermissionType>;
2764
- get requestProduce(): Readonly<boolean>;
2765
- get canProduceVideo(): Readonly<MediaProductionPermissionType>;
2766
- get produceScreenshare(): Readonly<MediaProductionPermissionType>;
2767
- get canProduceScreenshare(): Readonly<MediaProductionPermissionType>;
2768
- get produceAudio(): Readonly<MediaProductionPermissionType>;
2769
- get canProduceAudio(): Readonly<MediaProductionPermissionType>;
2770
- get chatPublic(): Readonly<PresetPermissions['chat']['public']>;
2771
- get chatPrivate(): Readonly<PresetPermissions['chat']['private']>;
2772
- get connectedMeetings(): Readonly<PresetPermissions['connectedMeetings']>;
2773
- get hiddenParticipant(): Readonly<boolean>;
2774
- get showParticipantList(): Readonly<boolean>;
2775
- get canChangeParticipantRole(): Readonly<boolean>;
2776
- get canChangeParticipantPermissions(): Readonly<boolean>;
2777
- get canChangeTheme(): Readonly<boolean>;
2778
- get canPresent(): Readonly<boolean>;
2779
- get acceptPresentRequests(): Readonly<boolean>;
2780
- get canEditDisplayName(): Readonly<boolean>;
2781
- get maxScreenShareCount(): Readonly<number>;
2782
- get isRecorder(): Readonly<boolean>;
2783
- get canSpotlight(): Readonly<boolean>;
2784
- get canLivestream(): Readonly<boolean>;
2785
- get transcriptionEnabled(): Readonly<boolean>;
2786
- }
2787
-
2788
- interface UserDetailsResponseV2 {
2789
- participant: UserDetailsResponse;
2790
- preset: PresetV2CamelCased;
2791
- meeting: {
2792
- title: string;
2793
- };
2794
- socket: {
2795
- baseUri: string;
2796
- };
2797
- }
2798
- type LeaveRoomState = 'kicked' | 'ended' | 'left' | 'rejected' | 'connected-meeting' | 'disconnected' | 'failed' | 'stageLeft';
2799
- declare class SelfController {
2800
- readonly self: Self;
2801
- readonly authToken: string;
2802
- get peerId(): string;
2803
- viewType: ViewType;
2804
- get telemetry(): Telemetry;
2805
- get logger(): Logger;
2806
- get mediaJoined(): boolean;
2807
- private constructor();
2808
- static init(context: Context<ContextState>, roomSocketHandler: RoomSocketHandler, participant: UserDetailsResponseV2['participant'], permissions: PermissionPreset, theme: ThemePreset): Promise<SelfController>;
2809
- shareMediaTracks(): Promise<void>;
2810
- private kickHandler;
2811
- private waitlistedHandler;
2812
- private waitlistAcceptHandler;
2813
- private waitlistRejectedHandler;
2814
- resetSelf(shouldAutoJoin: boolean): Promise<void>;
2815
- private setupEvents;
2816
- joinRoom(reconnected?: boolean): Promise<void>;
2817
- leaveRoom(state?: LeaveRoomState): Promise<void>;
2818
- private joinMediaRoom;
2819
- private leaveMediaRoom;
2820
- private cleanupSelf;
2821
- }
2822
-
2823
- interface FetchRequestConfig {
2824
- baseURL?: string;
2825
- url?: string;
2826
- method?: string;
2827
- headers?: Record<string, string>;
2828
- timeout?: number;
2829
- retry?: number;
2830
- retryDelay?: number;
2831
- responseType?: string;
2832
- data?: any;
2833
- params?: Record<string, string>;
2834
- }
2835
- interface FetchResponse<T = any> {
2836
- data: T;
2837
- status: number;
2838
- statusText: string;
2839
- headers: Record<string, string>;
2840
- config: FetchRequestConfig;
2841
- }
2842
- declare class FetchClient {
2843
- defaults: {
2844
- baseURL: string;
2845
- headers: {
2846
- common: Record<string, string>;
2847
- };
2848
- timeout: number;
2849
- retry: number;
2850
- retryDelay: number;
2851
- };
2852
- constructor(options: {
2853
- baseURL: string;
2854
- timeout: number;
2855
- retry: number;
2856
- retryDelay: number;
2857
- responseType?: string;
2858
- });
2859
- private buildURL;
2860
- request<T = any>(config: FetchRequestConfig): Promise<FetchResponse<T>>;
2861
- get<T = any>(url: string, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
2862
- post<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
2863
- put<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
2864
- }
2865
-
2866
- interface IceServerInformation {
2867
- url: string;
2868
- username?: string;
2869
- urls: string;
2870
- credential?: string;
2871
- }
2872
- interface CachedUserDetails {
2873
- peerId?: string;
2874
- pluginInformation: PluginResponse[];
2875
- userDetails: UserDetailsResponseV2;
2876
- roomDetails: RoomDetails;
2877
- iceServers: IceServerInformation[];
2878
- }
2879
- interface APIOptions {
2880
- baseURL?: string;
2881
- authToken?: string;
2882
- timeout?: number;
2883
- retry?: number;
2884
- retryDelay?: number;
2885
- cachedUserDetails?: CachedUserDetails;
2886
- }
2887
- declare class API {
2888
- protected fetchClient: FetchClient;
2889
- protected requests: FetchClient;
2890
- protected roomName: string;
2891
- protected roomUUID: string;
2892
- protected authToken: string;
2893
- protected organizationId: string;
2894
- protected iceServers: IceServerInformation[];
2895
- protected pluginInformation: PluginResponse[];
2896
- protected userDetails: UserDetailsResponseV2;
2897
- protected roomDetails: RoomDetails;
2898
- get peerId(): string;
2899
- context: Context<ContextState>;
2900
- get logger(): Logger;
2901
- constructor(context: Context<ContextState>, options?: APIOptions);
2902
- setAuthToken(token: string, options?: {
2903
- bearer?: boolean;
2904
- }): void;
2905
- setHeader(key: string, value: string): void;
2906
- setRoomName(name: string): void;
2907
- setRoomUUID(id: string): void;
2908
- setOrganizationId(id: string): void;
2909
- }
2910
-
2911
- type StageSocketMessage = GetStageRequestsResponse | GetStagePeersResponse | DenyStageAccessRequest | PeerStatusUpdate;
2912
- declare class StageSocketHandler {
2913
- constructor(socketService: SocketService);
2914
- getStageRequests(): Promise<GetStageRequestsResponse>;
2915
- requestAccess(): void;
2916
- cancelRequestAccess(): void;
2917
- grantAccess(userIds: string[]): Promise<void>;
2918
- denyAccess(userIds: string[]): Promise<void>;
2919
- joinStage(): Promise<{
2920
- id: string;
2921
- payload: Uint8Array;
2922
- }>;
2923
- leaveStage(userId: string): Promise<{
2924
- id: string;
2925
- payload: Uint8Array;
2926
- }>;
2927
- kick(userIds: string[]): Promise<{
2928
- id: string;
2929
- payload: Uint8Array;
2930
- }>;
2931
- on(event: number, handler: (socketMessage: StageSocketMessage, messageId?: string) => void): void;
2932
- getPeerInfo(peerId: string): Promise<PeerInfoResponse>;
2933
- }
2934
-
2935
- type StageStatus = 'OFF_STAGE' | 'REQUESTED_TO_JOIN_STAGE' | 'ACCEPTED_TO_JOIN_STAGE' | 'ON_STAGE';
2936
- interface StageRequestPayload {
2937
- displayName: string;
2938
- userId: string;
2939
- peerId: string;
2940
- }
2941
- type StageEvents = {
2942
- ['stageAccessRequestUpdate']: (requests?: StageRequestPayload[]) => void;
2943
- ['stageStatusUpdate']: (status: StageStatus) => void;
2944
- ['newStageRequest']: (payload: {
2945
- count: number;
2946
- }) => void;
2947
- ['stageRequestApproved']: () => void;
2948
- ['stageRequestRejected']: () => void;
2949
- ['*']: (eventName: string, ...args: any[]) => void;
2950
- };
2951
- declare class Stage extends TypedEventEmitter<StageEvents> {
2952
- get telemetry(): Telemetry;
2953
- constructor(context: Context<ContextState>, self: Self, participants: Participants, stageSocketHandler: StageSocketHandler, roomSocketHandler: RoomSocketHandler);
2954
- get status(): StageStatus;
2955
- private setupEvents;
2956
- getAccessRequests(): {
2957
- stageRequests: StageRequestPayload[];
2958
- };
2959
- requestAccess(): Promise<void>;
2960
- cancelRequestAccess(): Promise<void>;
2961
- grantAccess(userIds: string[]): Promise<void>;
2962
- denyAccess(userIds: string[]): Promise<void>;
2963
- get peerId(): string;
2964
- join(): Promise<void>;
2965
- leave(): Promise<void>;
2966
- kick(userIds: string[]): Promise<{
2967
- id: string;
2968
- payload: Uint8Array;
2969
- }>;
2970
- }
2971
-
2972
- declare class PollSocketHandler {
2973
- get logger(): Logger;
2974
- get telemetry(): Telemetry;
2975
- constructor(context: Context<ContextState>, socketService: SocketService);
2976
- getPolls(): Promise<{
2977
- id: string;
2978
- payload: Uint8Array;
2979
- }>;
2980
- createPoll(question: string, options: string[], anonymous?: boolean, hideVotes?: boolean): boolean;
2981
- votePoll(id: string, index: number): boolean;
2982
- on(event: number, handler: (message: UpdatePollResponse) => void): void;
2983
- removeListeners(event: number): void;
2984
- }
2985
-
2986
- interface PollOption {
2987
- text: string;
2988
- votes: {
2989
- id: string;
2990
- name: string;
2991
- }[];
2992
- count: number;
2993
- }
2994
- interface Poll {
2995
- id: string;
2996
- question: string;
2997
- options: PollOption[];
2998
- anonymous: boolean;
2999
- hideVotes: boolean;
3000
- createdBy: string;
3001
- createdByUserId: string;
3002
- voted: string[];
3003
- }
3004
- type PollsEvents = {
3005
- ['pollsUpdate']: (payload: {
3006
- polls: Poll[];
3007
- newPoll: boolean;
3008
- }) => void;
3009
- ['*']: (eventName: string, ...args: any[]) => void;
3010
- };
3011
- declare class Polls extends TypedEventEmitter<PollsEvents> {
3012
- items: Poll[];
3013
- constructor(context: Context<ContextState>, self: Self, pollSocketHandler: PollSocketHandler);
3014
- create(question: string, options: string[], anonymous?: boolean, hideVotes?: boolean): Promise<void>;
3015
- vote(id: string, index: number): Promise<void>;
3016
- }
3017
-
3018
- type PluginMapEvents = {
3019
- ['pluginAdded']: (plugin: Plugin) => void;
3020
- ['pluginDeleted']: (plugin: Plugin) => void;
3021
- };
3022
- type PluginEvents = {
3023
- ['stateUpdate']: (payload: {
3024
- active: boolean;
3025
- pluginId: string;
3026
- bind?: (...args: any[]) => void;
3027
- views: any;
3028
- }) => void;
3029
- ['ready']: () => void;
3030
- ['closed']: () => void;
3031
- ['toggleViewMode']: (...args: any[]) => void;
3032
- ['enabled']: () => void;
3033
- ['*']: (eventName: string, ...args: any[]) => void;
3034
- };
3035
- declare class PluginMap<T extends Plugin = Plugin> extends ClientMap<PluginEvents, T, PluginMapEvents> {
3036
- constructor(logger: Logger);
3037
- add(plugin: T, emitEvent?: boolean): this;
3038
- delete(pluginId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
3039
- }
3040
-
3041
- declare class Plugins {
3042
- readonly all: PluginMap;
3043
- readonly active: PluginMap;
3044
- constructor(logger: Logger);
3045
- }
3046
-
3047
- type RecordingState = 'IDLE' | 'STARTING' | 'RECORDING' | 'PAUSED' | 'STOPPING';
3048
- type RecordingType = 'BROWSER' | 'TRACK' | 'COMPOSITE';
3049
- type RecordingInfo = {
3050
- state: RecordingState;
3051
- id: string;
3052
- type: RecordingType;
3053
- };
3054
- type RecordingEvents = {
3055
- ['recordingUpdate']: (state: RecordingState) => void;
3056
- ['*']: (eventName: string, ...args: any[]) => void;
3057
- };
3058
- declare class Recording extends TypedEventEmitter<RecordingEvents> {
3059
- recordingPeerIds: string[];
3060
- get recordingState(): RecordingState;
3061
- recordings: RecordingInfo[];
3062
- constructor(context: Context<ContextState>, self: Self);
3063
- get telemetry(): Telemetry;
3064
- updateRecordings(recordings: RecordingInfo[]): void;
3065
- start(opts?: {
3066
- allowMultiple: boolean;
3067
- }): Promise<void>;
3068
- stop(recordingId?: string): Promise<void>;
3069
- pause(recordingId?: string): Promise<void>;
3070
- resume(recordingId?: string): Promise<void>;
3071
- }
3072
-
3073
- declare class BrowserDetection {
3074
- _bowser: any;
3075
- _name: any;
3076
- _version: any;
3077
- init(browserInfo?: any): void;
3078
- getName(): any;
3079
- isChrome(): boolean;
3080
- isOpera(): boolean;
3081
- isFirefox(): boolean;
3082
- isIExplorer(): boolean;
3083
- isSafari(): boolean;
3084
- isNWJS(): boolean;
3085
- isElectron(): boolean;
3086
- isReactNative(): boolean;
3087
- getVersion(): any;
3088
- isMobile(): boolean;
3089
- getDeviceInfo: () => {
3090
- isMobile: boolean;
3091
- browserName: any;
3092
- osName: any;
3093
- browserVersion: any;
3094
- osVersionName: any;
3095
- engineName: any;
3096
- };
3097
- _checkCondition(checkTree: any): any;
3098
- isVersionGreaterThan(version: any): any;
3099
- isVersionLessThan(version: any): any;
3100
- isVersionEqualTo(version: any): any;
3101
- }
3102
-
3103
- declare class BrowserCapabilities extends BrowserDetection {
3104
- doesVideoMuteByStreamRemove(): boolean;
3105
- supportsP2P(): boolean;
3106
- isChromiumBased(): boolean;
3107
- isWebKitBased(): boolean;
3108
- isSupported(): boolean;
3109
- isUserInteractionRequiredForUnmute(): any;
3110
- supportsVideoMuteOnConnInterrupted(): boolean;
3111
- supportsBandwidthStatistics(): boolean;
3112
- supportsCodecPreferences(): boolean;
3113
- supportsDeviceChangeEvent(): boolean;
3114
- supportsLocalCandidateRttStatistics(): boolean;
3115
- supportsPerformanceObserver(): boolean;
3116
- supportsReceiverStats(): boolean;
3117
- supportsRTTStatistics(): boolean;
3118
- usesPlanB(): boolean;
3119
- usesSdpMungingForSimulcast(): boolean;
3120
- usesUnifiedPlan(): boolean;
3121
- usesNewGumFlow(): boolean;
3122
- usesAdapter(): boolean;
3123
- usesRidsForSimulcast(): boolean;
3124
- supportsGetDisplayMedia(): boolean;
3125
- supportsInsertableStreams(): boolean;
3126
- supportsAudioRed(): boolean;
3127
- supportsSdpSemantics(): boolean;
3128
- _getChromiumBasedVersion(): number;
3129
- isIOSMobile(): boolean;
3130
- }
3131
-
3132
- declare class Features {
3133
- constructor(context: Context<ContextState>);
3134
- hasFeature(featureName: string): boolean;
3135
- getFeatureValue(featureName: string): _cloudflare_realtimekit_utils.FlagValues;
3136
- getAllFeatures(): {
3137
- [x: string]: _cloudflare_realtimekit_utils.FlagsEntry;
3138
- };
3139
- }
3140
-
3141
- declare class Internals {
3142
- logger: Logger;
3143
- features: Features;
3144
- browserSpecs: BrowserCapabilities;
3145
- callStats: InhouseCallStats;
3146
- constructor(logger: Logger, features: Features, callStats: InhouseCallStats);
3147
- static init(context: Context<ContextState>): Internals;
3148
- }
3149
-
3150
- type LivestreamState = 'IDLE' | 'STARTING' | 'WAITING_ON_MANUAL_INGESTION' | 'LIVESTREAMING' | 'STOPPING';
3151
- type LivestreamEvents = {
3152
- ['livestreamUpdate']: (state: LivestreamState) => void;
3153
- ['viewerCountUpdate']: (count: number) => void;
3154
- ['*']: (eventName: string, ...args: any[]) => void;
3155
- };
3156
- type StartLivestreamConfig = {
3157
- manualIngestion: boolean;
3158
- };
3159
- interface LivestreamIngestionCredentials {
3160
- ingestionServer: string;
3161
- streamKey: string;
3162
- }
3163
- type LivestreamResponse = {
3164
- status: string;
3165
- playbackUrl: string;
3166
- manualIngest: boolean;
3167
- ingestionCredentials?: LivestreamIngestionCredentials;
3168
- };
3169
- declare class Livestream extends TypedEventEmitter<LivestreamEvents> {
3170
- state: LivestreamState;
3171
- playbackUrl: string | undefined;
3172
- ingestionCredentials: LivestreamIngestionCredentials;
3173
- viewerCount: number;
3174
- get telemetry(): Telemetry;
3175
- constructor(context: Context<ContextState>, self: Self);
3176
- setLivestreamState(livestreamState: LivestreamState): void;
3177
- private emitCurrentLivestreamState;
3178
- start(livestreamConfig?: StartLivestreamConfig): Promise<void>;
3179
- stop(): Promise<void>;
3180
- }
3181
-
3182
- declare const ERROR_CODES: {
3183
- '0000': string;
3184
- '0001': string;
3185
- '0002': string;
3186
- '0003': string;
3187
- '0004': string;
3188
- '0010': string;
3189
- '0011': string;
3190
- '0012': string;
3191
- '0013': string;
3192
- '0100': string;
3193
- '0101': string;
3194
- '0102': string;
3195
- '0200': string;
3196
- '0300': string;
3197
- '0400': string;
3198
- '0404': string;
3199
- '0500': string;
3200
- '0501': string;
3201
- '0502': string;
3202
- '0503': string;
3203
- '0504': string;
3204
- '0505': string;
3205
- '0506': string;
3206
- '0600': string;
3207
- '0601': string;
3208
- '0602': string;
3209
- '0603': string;
3210
- '0700': string;
3211
- '0705': string;
3212
- '0800': string;
3213
- '0801': string;
3214
- '0900': string;
3215
- '0904': string;
3216
- '1000': string;
3217
- '1001': string;
3218
- '1004': string;
3219
- '1005': string;
3220
- '1100': string;
3221
- '1101': string;
3222
- '1102': string;
3223
- '1103': string;
3224
- '1104': string;
3225
- '1105': string;
3226
- '1106': string;
3227
- '1200': string;
3228
- '1201': string;
3229
- '1202': string;
3230
- '1203': string;
3231
- '1204': string;
3232
- '1205': string;
3233
- '1206': string;
3234
- '1207': string;
3235
- '1208': string;
3236
- '1209': string;
3237
- '1300': string;
3238
- '1400': string;
3239
- '1402': string;
3240
- '1403': string;
3241
- '1500': string;
3242
- '1600': string;
3243
- '1601': string;
3244
- '1602': string;
3245
- '1603': string;
3246
- '1604': string;
3247
- '1605': string;
3248
- '1606': string;
3249
- '1607': string;
3250
- '1608': string;
3251
- '1609': string;
3252
- '1610': string;
3253
- '1611': string;
3254
- '1612': string;
3255
- '1701': string;
3256
- '1800': string;
3257
- '1801': string;
3258
- '1900': string;
3259
- '1901': string;
3260
- '1902': string;
3261
- '2000': string;
3262
- '2001': string;
3263
- '2002': string;
3264
- '2003': string;
3265
- '2004': string;
3266
- '2005': string;
3267
- '2006': string;
3268
- '9900': string;
3269
- };
3270
- declare class ClientError extends Error {
3271
- code: keyof typeof ERROR_CODES;
3272
- constructor(message: string, code?: keyof typeof ERROR_CODES, logger?: Logger | undefined, log?: boolean);
3273
- }
3274
-
3275
- type StoreData = {
3276
- [type: string]: any;
3277
- };
3278
- declare class Store {
3279
- name: string;
3280
- rateLimitConfig: {
3281
- maxInvocations: number;
3282
- period: number;
3283
- };
3284
- bulkRateLimitConfig: {
3285
- maxInvocations: number;
3286
- period: number;
3287
- };
3288
- private listeners;
3289
- constructor({ name, socketHandler, meetingId }: {
3290
- name: string;
3291
- socketHandler: PluginSocketHandler;
3292
- meetingId: string;
3293
- });
3294
- set(key: string, value: any, sync?: boolean, emit?: boolean): Promise<void>;
3295
- private remoteSet;
3296
- bulkSet(data: Array<{
3297
- key: string;
3298
- payload: any;
3299
- }>): Promise<void>;
3300
- update(key: string, value: any, sync?: boolean): Promise<void>;
3301
- delete(key: string, sync?: boolean, emit?: boolean): Promise<void>;
3302
- bulkDelete(data: Array<{
3303
- key: string;
3304
- }>): Promise<void>;
3305
- get(key: string): any;
3306
- getAll(): StoreData;
3307
- get rateLimits(): {
3308
- maxInvocations: number;
3309
- period: number;
3310
- };
3311
- updateRateLimits(num: number, period: number): void;
3312
- get bulkRateLimits(): {
3313
- maxInvocations: number;
3314
- period: number;
3315
- };
3316
- updateBulkRateLimits(num: number, period: number): void;
3317
- subscribe(key: string | '*', cb: (value: any) => any): void;
3318
- unsubscribe(key: string | '*', cb?: (value: any) => any): void;
3319
- populate(data: StoreData): void;
3320
- }
3321
-
3322
- declare class StoreManager {
3323
- stores: Map<String, Store>;
3324
- constructor(context: Context<ContextState>, handler: PluginSocketHandler);
3325
- create(name: string): Promise<Store>;
3326
- }
3327
-
3328
- interface SocketServicePayload {
3329
- payload: any;
3330
- }
3331
- interface ConnectedMeetingParticipant {
3332
- id?: string;
3333
- customParticipantId?: string;
3334
- presetId?: string;
3335
- displayName?: string;
3336
- displayPictureUrl?: string;
3337
- }
3338
- interface ConnectedMeeting {
3339
- id?: string;
3340
- title?: string;
3341
- participants: ConnectedMeetingParticipant[];
3342
- }
3343
- declare class ConnectedMeetingsSocketHandler {
3344
- socketService: SocketService;
3345
- constructor(socketService: SocketService);
3346
- handleConnectedRoomsDumpRaw({ payload }: SocketServicePayload): {
3347
- parentMeeting: ConnectedMeeting;
3348
- meetings: ConnectedMeeting[];
3349
- };
3350
- handleTransferPeerRaw({ payload }: SocketServicePayload): {
3351
- authToken: string;
3352
- meetingId: string;
3353
- };
3354
- handleMovedPeerRaw({ payload }: SocketServicePayload): {
3355
- meetingId: string;
3356
- customParticipantId: string;
3357
- };
3358
- handleConnectedRoomsUpdatedRaw({ payload }: SocketServicePayload): {
3359
- id: string;
3360
- title: string;
3361
- }[];
3362
- handleConnectedRoomsDeletedRaw({ payload }: SocketServicePayload): {
3363
- id: string;
3364
- }[];
3365
- getConnectedRoomsDump(): Promise<{
3366
- parentMeeting: ConnectedMeeting;
3367
- meetings: ConnectedMeeting[];
3368
- }>;
3369
- createConnectedRooms(request: CreateRoomRequestPayload[]): Promise<{
3370
- id: string;
3371
- title: string;
3372
- }[]>;
3373
- updateConnectedRooms(request: UpdateRoomRequestPayload[]): Promise<void>;
3374
- disableConnectedRooms(meetingIds: string[]): Promise<{
3375
- id: string;
3376
- }[]>;
3377
- movePeersBetweenRooms(request: MovePeersBetweenRoomsRequest): Promise<{
3378
- success: boolean;
3379
- error?: undefined;
3380
- } | {
3381
- success: boolean;
3382
- error: any;
3383
- }>;
3384
- }
3385
-
3386
- type ConnectedMeetingsEvents = {
3387
- ['meetingChanged']: (meeting: Client) => void;
3388
- ['stateUpdate']: (payload: {
3389
- meetings: ConnectedMeeting[];
3390
- parentMeeting: ConnectedMeeting;
3391
- }) => void;
3392
- ['changingMeeting']: (meetingId: string) => void;
3393
- ['*']: (eventName: string, ...args: any[]) => void;
3394
- };
3395
- declare class ConnectedMeetings extends TypedEventEmitter<ConnectedMeetingsEvents> {
3396
- constructor(context: Context<ContextState>);
3397
- meetings: ConnectedMeeting[];
3398
- parentMeeting: ConnectedMeeting;
3399
- get supportsConnectedMeetings(): boolean;
3400
- get isActive(): boolean;
3401
- private validateConnectedMeetingsAction;
3402
- getConnectedMeetings(): Promise<{
3403
- parentMeeting: ConnectedMeeting;
3404
- meetings: ConnectedMeeting[];
3405
- }>;
3406
- createMeetings(request: {
3407
- title: string;
3408
- }[]): Promise<{
3409
- id: string;
3410
- title: string;
3411
- }[]>;
3412
- updateMeetings(request: {
3413
- id: string;
3414
- title: string;
3415
- }[]): Promise<void>;
3416
- deleteMeetings(meetingIds: string[]): Promise<{
3417
- id: string;
3418
- }[]>;
3419
- moveParticipants(sourceMeetingId: string, destinationMeetingId: string, participantIds: string[]): Promise<{
3420
- success: boolean;
3421
- error?: undefined;
3422
- } | {
3423
- success: boolean;
3424
- error: any;
3425
- }>;
3426
- moveParticipantsWithCustomPreset(sourceMeetingId: string, destinationMeetingId: string, participants: {
3427
- id: string;
3428
- presetId: string;
3429
- }[]): Promise<{
3430
- success: boolean;
3431
- error?: undefined;
3432
- } | {
3433
- success: boolean;
3434
- error: any;
3435
- }>;
3436
- private moveSuccessHandler;
3437
- }
3438
-
3439
- type ErrorCallback = (error: Error) => void;
3440
- declare class AudioPlayback {
3441
- constructor();
3442
- playTracks(tracks: MediaStreamTrack[]): Promise<void>;
3443
- setSpeakerDevice(deviceId: string): void;
3444
- removeTrack(trackId: string): void;
3445
- play(): Promise<void>;
3446
- onError(callback: ErrorCallback): void;
3447
- }
3448
-
3449
- declare class AudioPlaybackManager extends AudioPlayback {
3450
- constructor();
3451
- addParticipantTrack(participantId: string, track: MediaStreamTrack): void;
3452
- removeParticipantTrack(participantId: string): void;
3453
- }
3454
-
3455
- declare class SelfMedia extends TypedEventEmitter<SelfEvents> {
3456
- protected localMediaHandler: LocalMediaHandler;
3457
- constructor(context: Context<ContextState>, logger: Logger);
3458
- protected updatePermission(): Promise<void>;
3459
- protected populateMediaPermissionsInCallstats({ message, kind, }: {
3460
- message: keyof typeof MediaPermission;
3461
- kind: 'audio' | 'video' | 'screenshare';
3462
- }): Promise<void>;
3463
- get peerId(): string;
3464
- init(options?: {
3465
- video?: boolean;
3466
- audio?: boolean;
3467
- constraints?: MediaConstraints;
3468
- }, skipAwaits?: boolean, context?: Context<ContextState>): Promise<void>;
3469
- set context(context: Context<ContextState>);
3470
- get audioTrack(): MediaStreamTrack;
3471
- get rawAudioTrack(): MediaStreamTrack;
3472
- get mediaPermissions(): {
3473
- audio?: MediaPermission$1;
3474
- video?: MediaPermission$1;
3475
- screenshare?: MediaPermission$1;
3476
- };
3477
- addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
3478
- success: boolean;
3479
- message: string;
3480
- }>;
3481
- removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
3482
- success: boolean;
3483
- message: string;
3484
- }>;
3485
- removeAllAudioMiddlewares(): Promise<{
3486
- success: boolean;
3487
- message: string;
3488
- }>;
3489
- get videoTrack(): MediaStreamTrack;
3490
- get rawVideoTrack(): MediaStreamTrack;
3491
- addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
3492
- success: boolean;
3493
- message: string;
3494
- }>;
3495
- setVideoMiddlewareGlobalConfig(config?: VideoMiddlewareGlobalConfig): Promise<void>;
3496
- removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
3497
- success: boolean;
3498
- message: string;
3499
- }>;
3500
- removeAllVideoMiddlewares(): Promise<{
3501
- success: boolean;
3502
- message: string;
3503
- }>;
3504
- get screenShareTracks(): {
3505
- audio: MediaStreamTrack;
3506
- video: MediaStreamTrack;
3507
- };
3508
- get audioEnabled(): boolean;
3509
- get videoEnabled(): boolean;
3510
- get screenShareEnabled(): boolean;
3511
- enableAudio(): Promise<void>;
3512
- enableVideo(): Promise<void>;
3513
- disableAudio(): Promise<void>;
3514
- enableScreenShare(): Promise<void>;
3515
- disableScreenShare(): Promise<void>;
3516
- disableVideo(): Promise<void>;
3517
- getCurrentDevices(): {
3518
- audio: MediaDeviceInfo;
3519
- video: MediaDeviceInfo;
3520
- speaker: MediaDeviceInfo;
3521
- };
3522
- getAudioDevices(): Promise<MediaDeviceInfo[]>;
3523
- getVideoDevices(): Promise<MediaDeviceInfo[]>;
3524
- getSpeakerDevices(): Promise<MediaDeviceInfo[]>;
3525
- getDeviceById(deviceId: string, kind: 'audio' | 'video' | 'speaker'): Promise<MediaDeviceInfo>;
3526
- setDevice(device: MediaDeviceInfo): Promise<void>;
3527
- }
3528
-
3529
- interface Overrides {
3530
- disableSimulcast?: boolean;
3531
- simulcastConfig?: {
3532
- disable?: boolean;
3533
- encodings?: RTCRtpEncodingParameters[];
3534
- };
3535
- forceRelay?: boolean;
3536
- [key: string]: boolean | string | number | Record<string, any>;
3537
- }
3538
- interface ClientOptions {
3539
- authToken: string;
3540
- defaults?: DefaultOptions;
3541
- modules?: Modules;
3542
- overrides?: Overrides;
3543
- baseURI?: string;
3544
- onError?: (error: ClientError) => void;
3545
- cachedUserDetails?: CachedUserDetails;
3546
- }
3547
- declare class Client {
3548
- private constructor();
3549
- get peerId(): string;
3550
- static initMedia(options?: {
3551
- video?: boolean;
3552
- audio?: boolean;
3553
- constraints?: MediaConstraints;
3554
- }, skipAwaits?: boolean, cachedUserDetails?: CachedUserDetails): Promise<SelfMedia>;
3555
- static init(options: ClientOptions): Promise<Client>;
3556
- private static setupContext;
3557
- join(): Promise<void>;
3558
- leave(state?: LeaveRoomState): Promise<void>;
3559
- get participants(): Readonly<Participants>;
3560
- get self(): Readonly<Self>;
3561
- get meta(): Readonly<Meta>;
3562
- get ai(): Readonly<Ai>;
3563
- get plugins(): Readonly<Plugins>;
3564
- get chat(): Readonly<Chat>;
3565
- get polls(): Readonly<Polls>;
3566
- get connectedMeetings(): Readonly<ConnectedMeetings>;
3567
- get recording(): Readonly<Recording>;
3568
- get livestream(): Readonly<Livestream>;
3569
- get stage(): Readonly<Stage>;
3570
- get stores(): Readonly<StoreManager>;
3571
- get audio(): AudioPlaybackManager;
3572
- get __internals__(): Readonly<Internals>;
3573
- joinRoom(): Promise<void>;
3574
- leaveRoom(state?: LeaveRoomState): Promise<void>;
3575
- }
3576
-
3577
- type ClientType = {
3578
- callStats?: unknown;
3579
- Telemetry?: typeof Telemetry;
3580
- };
3581
- declare global {
3582
- interface Navigator {
3583
- RNLocalMediaHandlerImpl?: any;
3584
- RNAudioSampleHandlerImpl?: any;
3585
- RNBackgroundTimerImpl?: any;
3586
- RNDeviceInfoImpl?: any;
3587
- isReactNative?: boolean;
3588
- }
3589
- interface Window {
3590
- RTK?: ClientType;
3591
- FAST_RTK?: boolean;
3592
- MediaStreamTrackProcessor?: any;
3593
- MediaStreamTrackGenerator?: any;
3594
- TransformStream?: any;
3595
- }
3596
- }
3597
-
3598
- interface GenericHandlerResult {
3599
- offerSdp: RTCSessionDescriptionInit;
3600
- callback: (answer: RTCSessionDescriptionInit) => Promise<any>;
3601
- sender?: RTCRtpSender;
3602
- }
3603
- type HandlerRunOptions = {
3604
- direction: 'send' | 'recv';
3605
- iceServers?: RTCIceServer[];
3606
- iceTransportPolicy?: RTCIceTransportPolicy;
3607
- additionalSettings?: any;
3608
- proprietaryConstraints?: any;
3609
- onTrackHandler?: (event: RTCTrackEvent) => void;
3610
- };
3611
- type CodecOption = {
3612
- name: string;
3613
- parameters?: string[];
3614
- };
3615
- type HandlerSendOptions = {
3616
- track: MediaStreamTrack | 'audio' | 'video';
3617
- screenShare?: boolean;
3618
- encodings?: RTCRtpEncodingParameters[];
3619
- codecs?: RTCRtpCodecCapability[];
3620
- codecOptions?: CodecOption[];
3621
- };
3622
- interface HandlerSendResult extends GenericHandlerResult {
3623
- mid: string;
3624
- }
3625
- declare abstract class HandlerInterface<TransportPromiseEvents> extends EnhancedEventEmitter<TransportPromiseEvents> {
3626
- protected _sendWebStream: MediaStream;
3627
- protected _sendScreenShareStream: MediaStream;
3628
- protected _direction?: 'send' | 'recv';
3629
- pc: RTCPeerConnection;
3630
- protected _transportReady: boolean;
3631
- private readonly _mapMidTransceiver;
3632
- enableHighBitrate: boolean;
3633
- enableStereo: boolean;
3634
- enableDtx: boolean;
3635
- get midTransceiverMap(): Map<string, RTCRtpTransceiver>;
3636
- abstract get name(): string;
3637
- close(): void;
3638
- restartIce(): Promise<GenericHandlerResult>;
3639
- init({ direction, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, onTrackHandler, }: HandlerRunOptions): void;
3640
- connect(): Promise<GenericHandlerResult>;
3641
- getTransportStats(): Promise<RTCStatsReport>;
3642
- protected _assertSendDirection(): void;
3643
- protected _assertRecvDirection(): void;
3644
- getReceiverStats(localId: string): Promise<RTCStatsReport>;
3645
- stopSending(localId: string): Promise<GenericHandlerResult>;
3646
- abstract send(options: HandlerSendOptions): Promise<HandlerSendResult>;
3647
- replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
3648
- setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
3649
- setRtpEncodingParameters(localId: string, params: any): Promise<void>;
3650
- getSenderStats(localId: string): Promise<RTCStatsReport>;
3651
- _addEventListeners(): void;
3652
- addCustomEventListeners(): void;
3653
- }
3654
-
3655
- type DCMessage = {
3656
- type: string;
3657
- payload: Record<string, unknown>;
3658
- };
3659
-
3660
- type TransportPromiseEvents = {
3661
- 'close': {
3662
- answer: RTCSessionDescriptionInit;
3663
- };
3664
- 'negotiate': {
3665
- description: RTCSessionDescriptionInit;
3666
- };
3667
- };
3668
-
3669
- type ConsumerOptions = {
3670
- id?: string;
3671
- producerId: string;
3672
- producingPeerId: string;
3673
- producingTransportId: string;
3674
- kind?: 'audio' | 'video';
3675
- paused?: boolean;
3676
- appData?: Record<string, unknown>;
3677
- mimeType?: string;
3678
- localId: string;
3679
- handler: HandlerInterface<TransportPromiseEvents>;
3680
- track?: MediaStreamTrack;
3681
- rtpReceiver?: RTCRtpReceiver;
3682
- transceiver: RTCRtpTransceiver;
3683
- closeTranscieverOnClose?: boolean;
3684
- };
3685
- type MediaKind$1 = 'audio' | 'video';
3686
- declare class Consumer extends EnhancedEventEmitter<TransportPromiseEvents> {
3687
- readonly rtpReceiver: RTCRtpReceiver;
3688
- readonly id: string;
3689
- readonly localId: string;
3690
- readonly producerId: string;
3691
- readonly producingTransportId: string;
3692
- readonly mimeType: string;
3693
- readonly track: MediaStreamTrack;
3694
- readonly peerId: string;
3695
- readonly appData: Record<string, unknown>;
3696
- readonly transceiver: RTCRtpTransceiver;
3697
- constructor(context: Context<ContextState>, opts: ConsumerOptions);
3698
- get closed(): boolean;
3699
- get kind(): MediaKind$1;
3700
- get paused(): boolean;
3701
- close(reason?: string, closeTranscieverOnClose?: boolean): void;
3702
- getStats(): Promise<RTCStatsReport>;
3703
- pause(): void;
3704
- resume(): void;
3705
- }
3706
-
3707
- declare const localMediaEvents: readonly ["AUDIO_TRACK_CHANGE", "VIDEO_TRACK_CHANGE", "SCREENSHARE_TRACK_CHANGE", "SCREENSHARE_ENDED", "AUDIO_TRACK_SILENT", "FORCE_MUTE_AUDIO", "FORCE_MUTE_VIDEO", "DEVICE_CHANGE", "DEVICE_LIST_UPDATED"];
3708
- declare const e2eeEvents: readonly ["participantEncryptionStatusChanged", "encryptionError"];
3709
- declare const e2eeKeyEvents: readonly ["setKey", "ratchetRequest", "keyRatcheted"];
3710
- type LocalMediaEvents = (typeof localMediaEvents)[number];
3711
- type EncryptionEvents = (typeof e2eeEvents)[number];
3712
- type KeyProviderEvents = (typeof e2eeKeyEvents)[number];
3713
- type ParticipantEvents = {
3714
- ['videoUpdate']: (payload: {
3715
- videoEnabled: boolean;
3716
- videoTrack: MediaStreamTrack;
3717
- }) => void;
3718
- ['audioUpdate']: (payload: {
3719
- audioEnabled: boolean;
3720
- audioTrack: MediaStreamTrack;
3721
- }) => void;
3722
- ['screenShareUpdate']: (payload: {
3723
- screenShareEnabled: boolean;
3724
- screenShareTracks: {
3725
- audio: MediaStreamTrack;
3726
- video: MediaStreamTrack;
3727
- };
3728
- }) => void;
3729
- ['pinned']: (payload: Participant) => void;
3730
- ['unpinned']: (payload: Participant) => void;
3731
- ['poorConnection']: (payload: {
3732
- score: number;
3733
- kind: string;
3734
- }) => void;
3735
- ['stageStatusUpdate']: (payload: Participant) => void;
3736
- ['mediaScoreUpdate']: (payload: {
3737
- kind: MediaKind$1;
3738
- isScreenshare: boolean;
3739
- score: number;
3740
- participantId: string;
3741
- scoreStats: ConsumerScoreStats;
3742
- }) => void;
3743
- ['kicked']: () => void;
3744
- ['*']: (event: string, ...args: any[]) => void;
3745
- };
3746
- type SelfEvents = {
3747
- ['toggleTile']: (payload: {
3748
- hidden: boolean;
3749
- }) => void;
3750
- ['videoUpdate']: (payload: {
3751
- videoEnabled: boolean;
3752
- videoTrack: MediaStreamTrack;
3753
- }) => void;
3754
- ['audioUpdate']: (payload: {
3755
- audioEnabled: boolean;
3756
- audioTrack: MediaStreamTrack;
3757
- }) => void;
3758
- ['screenShareUpdate']: (payload: {
3759
- screenShareEnabled: boolean;
3760
- screenShareTracks: {
3761
- audio?: MediaStreamTrack;
3762
- video?: MediaStreamTrack;
3763
- };
3764
- }) => void;
3765
- ['deviceUpdate']: ({ device }: {
3766
- device: MediaDeviceInfo;
3767
- }) => void;
3768
- ['deviceListUpdate']: (changedDevices: {
3769
- added: MediaDeviceInfo[];
3770
- removed: MediaDeviceInfo[];
3771
- devices: MediaDeviceInfo[];
3772
- }) => void;
3773
- ['pinned']: (payload: Self) => void;
3774
- ['unpinned']: (payload: Self) => void;
3775
- ['mediaPermissionUpdate']: (payload: {
3776
- message: keyof typeof MediaPermission;
3777
- kind: 'audio' | 'video' | 'screenshare';
3778
- }) => void;
3779
- ['mediaPermissionError']: (payload: {
3780
- message: keyof typeof MediaPermission;
3781
- constraints: any;
3782
- kind: 'audio' | 'video' | 'screenshare';
3783
- }) => void;
3784
- ['mediaScoreUpdate']: (payload: {
3785
- kind: MediaKind$1;
3786
- isScreenshare: boolean;
3787
- score: number;
3788
- participantId: string;
3789
- scoreStats: ProducerScoreStats;
3790
- }) => void;
3791
- ['waitlisted']: () => void;
3792
- ['roomLeft']: (payload: {
3793
- state: LeaveRoomState;
3794
- }) => void;
3795
- ['roomJoined']: (payload: {
3796
- reconnected: boolean;
3797
- }) => void;
3798
- ['autoplayError']: (error: Error) => void;
3799
- ['*']: (event: string, ...args: any[]) => void;
3800
- };
3801
-
3802
- type ParticipantMapEvents = {
3803
- ['participantJoined']: (payload: Participant) => void;
3804
- ['participantLeft']: (payload: Participant) => void;
3805
- ['participantsCleared']: () => void;
3806
- ['participantsUpdate']: () => void;
3807
- ['kicked']: (payload: {
3808
- id: string;
3809
- }) => void;
3810
- };
3811
- declare class ParticipantMap<T extends Pick<Participant, 'id' | keyof TypedEventEmitter<ParticipantEvents>> = Participant> extends ClientMap<ParticipantEvents, T, ParticipantMapEvents> {
3812
- constructor(logger: Logger, options?: MapEvents<ParticipantMapEvents>);
3813
- add(participant: T, emitEvent?: boolean): this;
3814
- clear(emitEvent?: boolean, removeListeners?: boolean): void;
3815
- delete(participantId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
3816
- }
3817
-
3818
- declare const modes: readonly ["ACTIVE_GRID", "PAGINATED", "MANUAL"];
3819
- type ViewMode = (typeof modes)[number];
3820
- interface BroadcastMessagePayload {
3821
- [key: string]: boolean | number | string | Date | ActiveTab;
3822
- }
3823
- interface PeerProducerConfig {
3824
- audio: boolean;
3825
- video: boolean;
3826
- screenshareAudio: boolean;
3827
- screenshareVideo: boolean;
3828
- }
3829
- type BroadcastMessageTarget = {
3830
- participantIds: string[];
3831
- } | {
3832
- presetNames: string[];
3833
- } | {
3834
- meetingIds: string[];
3835
- };
3836
- type ParticipantsEvents = {
3837
- ['viewModeChanged']: (payload: {
3838
- viewMode: string;
3839
- currentPage: number;
3840
- pageCount: number;
3841
- }) => void;
3842
- ['activeSpeaker']: (payload: {
3843
- peerId: string;
3844
- volume: number;
3845
- }) => void;
3846
- ['broadcastedMessage']: (payload: {
3847
- type: string;
3848
- payload: BroadcastMessagePayload;
3849
- timestamp: number;
3850
- }) => void;
3851
- ['poorConnection']: (payload: {
3852
- participantId: string;
3853
- score: number;
3854
- kind: string;
3855
- }) => void;
3856
- ['pageChanged']: (payload: {
3857
- viewMode: string;
3858
- currentPage: number;
3859
- pageCount: number;
3860
- }) => void;
3861
- ['mediaScoreUpdate']: (payload: {
3862
- kind: string;
3863
- isScreenshare: boolean;
3864
- score: number;
3865
- participantId: string;
3866
- scoreStats: ConsumerScoreStats;
3867
- }) => void;
3868
- ['media_decode_error']: (payload: {
3869
- reason: string;
3870
- code: '1702' | '1703';
3871
- }) => void;
3872
- ['*']: (event: string, ...args: any[]) => void;
3873
- };
3874
- declare class Participants extends TypedEventEmitter<ParticipantsEvents> {
3875
- readonly waitlisted: Readonly<ParticipantMap<Omit<Participant, 'audioTrack' | 'videoTrack' | 'screenShareTracks'>>>;
3876
- readonly joined: Readonly<ParticipantMap>;
3877
- readonly active: Readonly<ParticipantMap>;
3878
- readonly videoSubscribed: Readonly<ParticipantMap>;
3879
- readonly audioSubscribed: Readonly<ParticipantMap>;
3880
- readonly pinned: Readonly<ParticipantMap>;
3881
- readonly all: Readonly<BasicParticipantsMap>;
3882
- get pip(): Pip;
3883
- rateLimitConfig: {
3884
- maxInvocations: number;
3885
- period: number;
3886
- };
3887
- get rateLimits(): {
3888
- maxInvocations: number;
3889
- period: number;
3890
- };
3891
- updateRateLimits(num: number, period: number): void;
3892
- get telemetry(): Telemetry;
3893
- viewMode: ViewMode;
3894
- currentPage: number;
3895
- lastActiveSpeaker: string;
3896
- selectedPeers: SelectedPeers;
3897
- constructor(context: Context<ContextState>, self: Self, roomSocketHandler: RoomSocketHandler);
3898
- setupEvents(): void;
3899
- get count(): number;
3900
- get maxActiveParticipantsCount(): number;
3901
- setMaxActiveParticipantsCount(limit: number): void;
3902
- get pageCount(): number;
3903
- acceptWaitingRoomRequest(id: string): void;
3904
- acceptAllWaitingRoomRequest(userIds: string[]): Promise<void>;
3905
- rejectWaitingRoomRequest(id: string): Promise<void>;
3906
- setViewMode(viewMode: ViewMode): Promise<void>;
3907
- subscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
3908
- unsubscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
3909
- getPeerIdsForCurrentPage(): string[];
3910
- setPage(page: number): Promise<void>;
3911
- disableAllAudio(allowUnmute: boolean): Promise<void>;
3912
- disableAllVideo(): Promise<void>;
3913
- disableAudio(participantId: string): Promise<void>;
3914
- disableVideo(participantId: string): Promise<void>;
3915
- kick(participantId: string): Promise<void>;
3916
- kickAll(): Promise<void>;
3917
- broadcastMessage(type: Exclude<string, 'spotlight'>, payload: BroadcastMessagePayload, target?: BroadcastMessageTarget): Promise<void>;
3918
- getAllJoinedPeers(searchQuery: string, limit: number, offset: number): Promise<{
3919
- id: string;
3920
- userId: string;
3921
- name: string;
3922
- displayName: string;
3923
- stageType: StageStatus;
3924
- customParticipantId: string;
3925
- presetId: string;
3926
- picture: string;
3927
- waitlisted: boolean;
3928
- stageStatus: StageStatus;
3929
- metadata: {
3930
- preset_name: string;
3931
- };
3932
- recorderType: string;
3933
- flags: {
3934
- hiddenParticipant: boolean;
3935
- hidden_participant: boolean;
3936
- recorder: boolean;
3937
- };
3938
- }[]>;
3939
- updatePermissions(participantIds: string[], permissions: PresetUpdates): Promise<void>;
3940
- getParticipantsInMeetingPreJoin(): Promise<RoomPeersInfoResponse>;
3941
- }
3942
-
3943
- interface RecordingConfig {
3944
- fileNamePrefix?: string;
3945
- videoConfig?: {
3946
- height?: number;
3947
- width?: number;
3948
- codec?: string;
3949
- };
3950
- }
3951
- interface ReactNativeFile {
3952
- uri: string;
3953
- name: string;
3954
- type: string;
3955
- }
3956
- declare class APIClient extends API {
3957
- telemetry: Telemetry;
3958
- constructor(context: Context<ContextState>, options?: APIOptions);
3959
- getICEServers(): Promise<any>;
3960
- getPlugins(): Promise<any[]>;
3961
- getPluginDetails(pluginId: string): Promise<PluginResponse>;
3962
- getPluginConfig(pluginBaseUrl: string): Promise<PluginConfig>;
3963
- authorizePlugin(pluginId: string): Promise<string>;
3964
- getPresignedUrls(filename: string): Promise<{
3965
- getLocation: any;
3966
- putLocation: any;
3967
- }>;
3968
- uploadFile(file: File | ReactNativeFile, url: string): Promise<void>;
3969
- startLivestreaming({ manualIngestion, }: StartLivestreamConfig): Promise<LivestreamResponse>;
3970
- stopLivestreaming(): Promise<FetchResponse<any>>;
3971
- getActiveLivestream(): Promise<LivestreamResponse>;
3972
- getUserDetails(): Promise<UserDetailsResponseV2>;
3973
- startRecording(config: RecordingConfig, allowMultiple?: boolean): Promise<string>;
3974
- updateRecording(recordingId: string, action: 'stop' | 'pause' | 'resume'): Promise<FetchResponse<any>>;
3975
- getActiveRecording(): Promise<{
3976
- status: string;
3977
- id: string;
3978
- }>;
3979
- getActiveTranscript(): Promise<{
3980
- transcript: string;
3981
- }>;
3982
- }
3983
-
3984
- declare enum MessageType {
3985
- text = "text",
3986
- image = "image",
3987
- file = "file",
3988
- custom = "custom",
3989
- poll = "poll"
3990
- }
3991
- interface BaseMessage<T extends MessageType> {
3992
- type: T;
3993
- userId: string;
3994
- displayName: string;
3995
- time: Date;
3996
- timeMs?: number;
3997
- id: string;
3998
- isEdited?: boolean;
3999
- read?: boolean;
4000
- pluginId?: string;
4001
- pinned?: boolean;
4002
- targetUserIds?: string[];
4003
- }
4004
- interface TextMessage extends BaseMessage<MessageType.text> {
4005
- message: string;
4006
- }
4007
- interface CustomMessage extends BaseMessage<MessageType.custom> {
4008
- message?: string;
4009
- html?: string;
4010
- files?: {
4011
- link: string;
4012
- type?: string;
4013
- name?: string;
4014
- size?: number;
4015
- }[];
4016
- images?: {
4017
- link: string;
4018
- type?: string;
4019
- name?: string;
4020
- size?: number;
4021
- }[];
4022
- videos?: {
4023
- link: string;
4024
- type?: string;
4025
- name?: string;
4026
- size?: number;
4027
- }[];
4028
- }
4029
- interface ImageMessage extends BaseMessage<MessageType.image> {
4030
- link: string;
4031
- }
4032
- interface FileMessage extends BaseMessage<MessageType.file> {
4033
- name: string;
4034
- size: number;
4035
- link: string;
4036
- }
4037
- type Message = TextMessage | ImageMessage | FileMessage | CustomMessage;
4038
- interface TextMessagePayload {
4039
- type: 'text';
4040
- message: string;
4041
- replyTo?: TextMessage;
4042
- }
4043
- interface CustomMessagePayload {
4044
- type: 'custom';
4045
- message?: string;
4046
- html?: string;
4047
- files?: (File | string)[];
4048
- images?: (File | string)[];
4049
- videos?: (File | string)[];
4050
- replyTo?: TextMessage;
4051
- }
4052
- interface ImageMessagePayload {
4053
- type: 'image';
4054
- image: File;
4055
- }
4056
- interface FileMessagePayload {
4057
- type: 'file';
4058
- file: File;
4059
- }
4060
- type MessagePayload = TextMessagePayload | ImageMessagePayload | FileMessagePayload | CustomMessagePayload;
4061
- interface ChatUpdateParams {
4062
- action: 'add' | 'edit' | 'delete';
4063
- message: Message;
4064
- messages: Message[];
4065
- }
4066
- type ChatEvents = {
4067
- ['chatUpdate']: (payload: ChatUpdateParams) => void;
4068
- ['pinMessage']: (payload: Omit<ChatUpdateParams, 'action'>) => void;
4069
- ['unpinMessage']: (payload: Omit<ChatUpdateParams, 'action'>) => void;
4070
- ['*']: (event: string, ...args: any[]) => void;
4071
- };
4072
- interface FetchMessageOptions {
4073
- timestamp?: number;
4074
- limit: number;
4075
- direction: 'before' | 'after';
4076
- }
4077
- interface FetchPrivateMessagesOptions extends FetchMessageOptions {
4078
- userId: string;
4079
- }
4080
- declare class Chat extends TypedEventEmitter<ChatEvents> {
4081
- messages: Message[];
4082
- maxTextLimit: number;
4083
- get telemetry(): Telemetry;
4084
- setMaxTextLimit(limit: number): void;
4085
- constructor(context: Context<ContextState>, chatSocketHandler: ChatSocketHandler, self: Self, participants: Participants);
4086
- private sendMessageInternal;
4087
- private sendTextMessageInternal;
4088
- private sendImageMessageInternal;
4089
- private sendFileMessageInternal;
4090
- get rateLimits(): {
4091
- maxInvocations: number;
4092
- period: number;
4093
- };
4094
- updateRateLimits(num: number, period: number): void;
4095
- sendTextMessage(message: string, peerIds?: string[]): Promise<void>;
4096
- sendCustomMessage(message: CustomMessagePayload, peerIds?: string[]): Promise<void>;
4097
- sendImageMessage(image: File | ReactNativeFile, peerIds?: string[]): Promise<void>;
4098
- sendFileMessage(file: File | ReactNativeFile, peerIds?: string[]): Promise<void>;
4099
- sendMessage(message: MessagePayload, participantIds?: string[]): Promise<void>;
4100
- editTextMessage(messageId: string, message: string): Promise<void>;
4101
- editImageMessage(messageId: string, image: File | ReactNativeFile): Promise<void>;
4102
- editFileMessage(messageId: string, file: File | ReactNativeFile): Promise<void>;
4103
- editMessage(messageId: string, message: MessagePayload): Promise<void>;
4104
- deleteMessage(messageId: string): Promise<void>;
4105
- getMessagesByUser(userId: string): Message[];
4106
- getMessagesByType(type: keyof typeof MessageType): Message[];
4107
- pin(id: string): Promise<void>;
4108
- unpin(id: string): Promise<void>;
4109
- fetchPublicMessages({ timestamp, limit, direction, }: FetchMessageOptions): Promise<Message[]>;
4110
- fetchPrivateMessages({ timestamp, limit, direction, userId, }: FetchPrivateMessagesOptions): Promise<Message[]>;
4111
- fetchPinnedMessages({ timestamp, limit, direction, }: FetchMessageOptions): Promise<Message[]>;
4112
- getMessages(timeStamp: number, size: number, reversed: boolean, offset?: number): Promise<{
4113
- messages: Message[];
4114
- next: boolean;
4115
- }>;
4116
- searchMessages(query: string, filters: unknown): Promise<unknown[]>;
4117
- get pinned(): Message[];
4118
- }
4119
-
4120
- declare const enum PRODUCERS_TYPE {
4121
- WEBCAM = "webcam",
4122
- WEBCAM_BACKUP = "webcam_backup",
4123
- MIC = "mic",
4124
- SCREENSHARE_VIDEO = "screenshare_video",
4125
- SCREENSHARE_AUDIO = "screenshare_audio"
4126
- }
4127
-
4128
- interface MediaPermissions {
4129
- canProduceAudio?: MediaProductionPermissionType;
4130
- canProduceVideo?: MediaProductionPermissionType;
4131
- canProduceScreenshare?: MediaProductionPermissionType;
4132
- }
4133
- declare const videoCodecPriority: readonly ["video/VP9", "video/VP8"];
4134
- type VideoCodec = (typeof videoCodecPriority)[number];
4135
- interface MediaNodeClientOptions {
4136
- peerId: string;
4137
- socket: SocketService;
4138
- }
4139
- declare class MediaNodeClient {
4140
- readonly context: Context<ContextState>;
4141
- readonly authToken: string;
4142
- readonly e2ee: boolean;
4143
- get peerId(): string;
4144
- get telemetry(): Telemetry;
4145
- get logger(): Logger;
4146
- constructor(context: Context<ContextState>, options: MediaNodeClientOptions);
4147
- get mediaJoined(): boolean;
4148
- set mediaJoined(joined: boolean);
4149
- reset(): void;
4150
- joinRoom(displayName: string, roomUuid: string, forceFullReset?: boolean, rejoining?: boolean, permissions?: MediaPermissions): Promise<{
4151
- roomJoined: boolean;
4152
- error?: Error;
4153
- }>;
4154
- initializeConnection(displayName: string, roomUuid: string, rejoining?: boolean, permissions?: MediaPermissions): Promise<void>;
4155
- getConsumers(): Map<string, Consumer>;
4156
- getProducers(): Map<string, Producer>;
4157
- leaveRoom(): Promise<void>;
4158
- activatePeers(producers: ProducerState[]): Promise<void>;
4159
- createConsumers(producers: ProducerState[]): Promise<void>;
4160
- closeConsumers(producers: ProducerState[]): Promise<void>;
4161
- _shareWebcam(videoTrack: MediaStreamTrack & {
4162
- originalSettings?: {
4163
- width: number;
4164
- };
4165
- }, codec: VideoCodec): Promise<MediaStreamTrack>;
4166
- shareWebcam(videoTrack: MediaStreamTrack): Promise<MediaStreamTrack | null>;
4167
- shareScreen(tracks: {
4168
- video?: MediaStreamTrack;
4169
- audio?: MediaStreamTrack;
4170
- }): Promise<void>;
4171
- shareMic(audioTrack: MediaStreamTrack): Promise<void>;
4172
- pauseMic(): Promise<void>;
4173
- pauseWebcam(): Promise<void>;
4174
- resumeMic(): Promise<void>;
4175
- resumeWebcam(producerType?: PRODUCERS_TYPE): Promise<void>;
4176
- disableWebcam(codec: VideoCodec): Promise<void>;
4177
- disableMic(): Promise<void>;
4178
- disableScreenShare(): Promise<void>;
4179
- muteSelf(): Promise<void>;
4180
- resetVideoProducers(videoTrack: MediaStreamTrack, screenShareTrack?: MediaStreamTrack): Promise<void>;
4181
- changeDisplayName(displayName: string, peerId?: string): Promise<void>;
4182
- kick(peerId: string): void;
4183
- kickAll(): void;
4184
- muteAll(_allowUnMute: boolean): Promise<void>;
4185
- muteAllVideo(): Promise<void>;
4186
- disableAudio(peerId: string): Promise<void>;
4187
- disableVideo(peerId: string): Promise<void>;
4188
- pinPeer(peerId: string | null): Promise<void>;
4189
- validateScreenShare(payload: {
4190
- peerId: string;
4191
- consumerId: string;
4192
- screenShare: boolean;
4193
- producerId: string;
4194
- consumerPeerId: string;
4195
- }): number;
4196
- switchConsumersToLayer(consumerIds: string[], layer: number): Promise<void>;
4197
- handleSocketEvents(): Promise<void>;
4198
- handleCallstatsEvents(): void;
4199
- handlePeerCapabilities(peerId: string, capabilities: PeerRtpCapabilitites): void;
4200
- handlePeerLeaving(peerId: string): void;
4201
- }
4202
-
4203
- interface Modules {
4204
- pip?: boolean;
4205
- chat?: boolean;
4206
- poll?: boolean;
4207
- theme?: boolean;
4208
- stage?: boolean;
4209
- plugin?: boolean;
4210
- tracing?: boolean;
4211
- internals?: boolean;
4212
- recording?: boolean;
4213
- livestream?: boolean;
4214
- participant?: boolean;
4215
- connectedMeetings?: boolean;
4216
- e2ee?: {
4217
- manager: any;
4218
- enabled: boolean;
4219
- };
4220
- devTools?: {
4221
- logs: boolean;
4222
- plugins?: {
4223
- id: string;
4224
- name: string;
4225
- port: number;
4226
- picture?: string;
4227
- description?: string;
4228
- staggered?: boolean;
4229
- }[];
4230
- };
4231
- experimentalAudioPlayback?: boolean;
4232
- }
4233
- interface DefaultOptions {
4234
- video?: boolean;
4235
- audio?: boolean;
4236
- recording?: RecordingConfig;
4237
- mediaHandler?: SelfMedia;
4238
- autoSwitchAudioDevice?: boolean;
4239
- mediaConfiguration?: {
4240
- video?: VideoQualityConstraints;
4241
- audio?: AudioQualityConstraints;
4242
- screenshare?: ScreenshareQualityConstraints;
4243
- };
4244
- isNonPreferredDevice?: (device: MediaDeviceInfo) => boolean;
4245
- }
4246
- interface RoomDetails {
4247
- meetingTitle: string;
4248
- }
4249
-
4250
- declare class ConnectionHandler {
4251
- mediaJoined: boolean;
4252
- socketJoined: boolean;
4253
- socketJoinAttempted: boolean;
4254
- mediaJoinAttempted: boolean;
4255
- socketState: SocketConnectionState;
4256
- mediaState: MediaConnectionState;
4257
- get joinAttempted(): boolean;
4258
- get roomJoined(): boolean;
4259
- constructor(context: Context<ContextState>);
4260
- updateSocketConnectionState(state: SocketStateEvent, attempt?: number): void;
4261
- }
4262
-
4263
- type EventMap$1 = {
4264
- [key: string]: (...args: any[]) => void;
4265
- };
4266
- interface TypedEventEmitter$1<Events extends EventMap$1> {
4267
- addListener<E extends keyof Events>(event: E, listener: Events[E]): this;
4268
- on<E extends keyof Events>(event: E, listener: Events[E]): this;
4269
- onAsync<E extends keyof Events>(event: E, listener: Events[E]): this;
4270
- once<E extends keyof Events>(event: E, listener: Events[E]): this;
4271
- prependListener<E extends keyof Events>(event: E, listener: Events[E]): this;
4272
- prependOnceListener<E extends keyof Events>(event: E, listener: Events[E]): this;
4273
- off<E extends keyof Events>(event: E, listener: Events[E]): this;
4274
- removeAllListeners<E extends keyof Events>(event?: E): this;
4275
- removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
4276
- emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): void;
4277
- emitAsync<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): Promise<void>;
4278
- eventNames(): (keyof Events | string | symbol)[];
4279
- rawListeners<E extends keyof Events>(event: E): Events[E][];
4280
- listeners<E extends keyof Events>(event: E): Events[E][];
4281
- listenerCount<E extends keyof Events>(event: E): number;
4282
- getMaxListeners(): number;
4283
- setMaxListeners(maxListeners: number): this;
4284
- reset(): void;
4285
- }
4286
-
4287
- declare enum SessionEvents {
4288
- NEW_PRODUCER = "NEW_PRODUCER",
4289
- ROOM_NODE_CONNECTION_ERROR = "ROOM_NODE_CONNECTION_ERROR",
4290
- SOCKET_SERVICE_ROOM_JOINED = "SOCKET_SERVICE_ROOM_JOINED",
4291
- SOCKET_SERVICE_RECONNECTED = "SOCKET_SERVICE_RECONNECTED",
4292
- SOCKET_SERVICE_DISCONNECTED = "SOCKET_SERVICE_DISCONNECTED",
4293
- SOCKET_SERVICE_FAILED = "SOCKET_SERVICE_FAILED",
4294
- SOCKET_STATE_UPDATE = "SOCKET_STATE_UPDATE",
4295
- ROOM_NODE_RECONNECTED = "ROOM_NODE_RECONNECTED",
4296
- ROOM_NODE_DISCONNECTED = "ROOM_NODE_DISCONNECTED",
4297
- ROOM_NODE_FAILED = "ROOM_NODE_FAILED",
4298
- TRANSPORT_STATE_UPDATE = "TRANSPORT_STATE_UPDATE",
4299
- PRODUCER_SCORE_UPDATE = "PRODUCER_SCORE_UPDATE",
4300
- CONSUMER_SCORE_UPDATE = "CONSUMER_SCORE_UPDATE",
4301
- PRODUCER_STATUS_UPDATE = "PRODUCER_STATUS_UPDATE",
4302
- CONSUMER_STATUS_UPDATE = "CONSUMER_STATUS_UPDATE",
4303
- LOW_CONSUMER_SCORE = "LOW_CONSUMER_SCORE",
4304
- MEDIA_PERMISSION_ERROR = "MEDIA_PERMISSION_ERROR",
4305
- MEDIA_PERMISSION_UPDATE = "MEDIA_PERMISSION_UPDATE",
4306
- MESSAGE = "websocket/message",
4307
- ROOM_MESSAGE = "websocket/room-message",
4308
- PEER_JOINED_INTERNAL = "peer/joined-internal",
4309
- PEER_CLOSED = "websocket/peer-closed",
4310
- CONSUMER_CLOSED = "websocket/consumer-closed",
4311
- CONSUMER_PAUSED = "websocket/consumer-paused",
4312
- CONSUMER_RESUMED = "websocket/consumer-resumed",
4313
- PRODUCER_CLOSED = "websocket/producer-closed",
4314
- NEW_CONSUMER = "websocket/new-consumer",
4315
- PRODUCER_SCORE = "websocket/producer-score",
4316
- CONSUMER_SCORE = "websocket/consumer-score",
4317
- PRODUCER_TOGGLE = "cf/producer-toggle",
4318
- UPDATE_ACTIVE = "media/update-active",
4319
- RESET_PRODUCER_STATE = "cf/reset-producer-state",
4320
- ROOM_STATE = "sockethub/room-state",
4321
- GET_STAGE_REQUESTS = "GET_STAGE_REQUESTS",
4322
- UPDATE_STAGE_REQUESTS = "UPDATE_STAGE_REQUESTS",
4323
- KICK_PEER = "KICK_PEER",
4324
- UPDATE_PEER_STAGE_STATUS = "UPDATE_PEER_STAGE_STATUS",
4325
- JOIN_MEDIA_ROOM = "JOIN_MEDIA_ROOM",
4326
- LEAVE_MEDIA_ROOM = "LEAVE_MEDIA_ROOM",
4327
- PIP_HANGUP = "PIP_HANGUP",
4328
- E2EE_ACTIVE_PRODUCER = "E2EE_ACTIVE_PRODUCER",
4329
- E2EE_INACTIVE_PRODUCER = "E2EE_INACTIVE_PRODUCER",
4330
- E2EE_ACTIVE_CONSUMER = "E2EE_ACTIVE_CONSUMER",
4331
- E2EE_INACTIVE_CONSUMER = "E2EE_INACTIVE_CONSUMER",
4332
- SOCKET_PEERS = "SOCKET_PEERS",
4333
- UPDATE_PERMISSIONS = "UPDATE_PERMISSIONS",
4334
- MAX_SPATIAL_LAYER_CHANGE = "MAX_SPATIAL_LAYER_CHANGE",
4335
- MUTE_SELF = "MUTE_SELF",
4336
- MUTE_SELF_VIDEO = "MUTE_SELF_VIDEO"
4337
- }
4338
- type AllEvents = {
4339
- [key in SessionEvents]: (payload?: any) => void;
4340
- };
4341
- type TypedEvents = {
4342
- [SessionEvents.UPDATE_PERMISSIONS]: (p: PresetUpdates) => void;
4343
- [SessionEvents.MAX_SPATIAL_LAYER_CHANGE]: (p: {
4344
- peerId: string;
4345
- maxSpatialLayer: number;
4346
- }) => void;
4347
- [SessionEvents.UPDATE_ACTIVE]: (p?: {
4348
- viewMode?: ViewMode;
4349
- page?: number;
4350
- createAllConsumers?: boolean;
4351
- }) => void;
4352
- [SessionEvents.PEER_JOINED_INTERNAL]: (p: Participant) => void;
4353
- [SessionEvents.UPDATE_PEER_STAGE_STATUS]: (p: {
4354
- id: string;
4355
- status: string;
4356
- }) => void;
4357
- [SessionEvents.GET_STAGE_REQUESTS]: (stageRequests: StageRequest[]) => void;
4358
- [SessionEvents.UPDATE_STAGE_REQUESTS]: (payload: {
4359
- request: StageRequestPayload;
4360
- add: boolean;
4361
- }) => void;
4362
- [SessionEvents.KICK_PEER]: (payload: {
4363
- peerId: string;
4364
- }) => void;
4365
- [SessionEvents.JOIN_MEDIA_ROOM]: () => void;
4366
- [SessionEvents.LEAVE_MEDIA_ROOM]: (state: LeaveRoomState) => void;
4367
- };
4368
- type UntypedEvents = Omit<AllEvents, keyof TypedEvents>;
4369
- type SessionEventsType = TypedEvents & UntypedEvents;
4370
-
4371
- type ContextState = {
4372
- authToken?: string;
4373
- peerId?: string;
4374
- apiBase?: string;
4375
- baseURI?: string;
4376
- socketBaseURI?: string;
4377
- onError?: (error: ClientError) => void;
4378
- stageStatus?: StageStatus;
4379
- organizationId?: string;
4380
- presetName?: string;
4381
- maxPreferredStreams?: number;
4382
- defaults?: DefaultOptions;
4383
- modules?: Modules;
4384
- overrides?: Overrides;
4385
- apiClient?: APIClient;
4386
- userId?: string;
4387
- meetingId?: string;
4388
- roomName?: string;
4389
- socketService?: SocketService;
4390
- pip?: Pip;
4391
- roomNodeClient?: MediaNodeClient;
4392
- viewType?: ViewType;
4393
- env?: ClientEnvTypeAll;
4394
- sdkVersion?: string;
4395
- sdkName?: 'web-core';
4396
- callstats?: InhouseCallStats;
4397
- connectionHandler?: ConnectionHandler;
4398
- cachedUserDetails?: CachedUserDetails;
4399
- peerSessionStore?: TypedEventEmitter$1<SessionEventsType>;
4400
- flagsmith?: ReturnType<typeof createNewFlagsmithInstance>;
4401
- roomSocketHandler?: RoomSocketHandler;
4402
- connectedMeetingsSocketHandler?: ConnectedMeetingsSocketHandler;
4403
- audioPlayback?: AudioPlaybackManager;
4404
- options?: ClientOptions;
4405
- self?: Self;
4406
- telemetry?: Telemetry;
4407
- logger?: Logger;
4408
- meeting?: Client;
4409
- selfController?: SelfController;
4410
- theme?: ThemePreset;
4411
- };
4412
- interface Context<T extends Record<string, any>> {
4413
- subscribe: (key: keyof T, listener: (value: any) => void) => () => void;
4414
- unsubscribe: (key: keyof T, listener: (value: any) => void) => void;
4415
- notify: <K extends keyof T>(key: K) => void;
4416
- setValue: <K extends keyof T>(key: K, newValue: T[K], notify?: boolean) => void;
4417
- getValue: <K extends keyof T>(key: K) => T[K];
4418
- getAllValues: () => T;
4419
- }
4420
-
4421
- declare class EnhancedEventEmitter<TransportPromiseEvents> extends EventEmitter {
4422
- get logger(): Logger;
4423
- constructor(context: Context<ContextState>);
4424
- safeEmit(event: string, ...args: any[]): boolean;
4425
- safeEmitAsPromise<T extends keyof TransportPromiseEvents>(event: T, ...args: any[]): Promise<TransportPromiseEvents[T]>;
4426
- safeEmitAsPromiseWithTimeout<T extends keyof TransportPromiseEvents>(event: T, timeout: number, ...args: any[]): Promise<TransportPromiseEvents[T]>;
4427
- }
4428
-
4429
- type MediaKind = 'audio' | 'video';
4430
- type ProducerConstructorOptions = {
4431
- id: string;
4432
- localId: string;
4433
- track?: MediaStreamTrack;
4434
- stopTracks: boolean;
4435
- disableTrackOnPause: boolean;
4436
- zeroRtpOnPause: boolean;
4437
- handler: HandlerInterface<TransportPromiseEvents>;
4438
- appData?: Record<string, unknown>;
4439
- rtpSender?: RTCRtpSender;
4440
- };
4441
- declare class Producer extends EnhancedEventEmitter<TransportPromiseEvents> {
4442
- readonly id: string;
4443
- readonly localId: string;
4444
- readonly kind: MediaKind;
4445
- readonly appData: Record<string, unknown>;
4446
- readonly rtpSender: RTCRtpSender;
4447
- constructor(context: Context<ContextState>, opt: ProducerConstructorOptions);
4448
- get closed(): boolean;
4449
- get track(): MediaStreamTrack | null;
4450
- get paused(): boolean;
4451
- get maxSpatialLayer(): number | undefined;
4452
- close(reason?: string): Promise<void>;
4453
- getStats(): Promise<RTCStatsReport>;
4454
- pause(): void;
4455
- resume(): void;
4456
- replaceTrack({ track, }: {
4457
- track: MediaStreamTrack | null;
4458
- }): Promise<void>;
4459
- setMaxSpatialLayer(spatialLayer: number): Promise<void>;
4460
- setRtpEncodingParameters(params: RTCRtpEncodingParameters): Promise<void>;
4461
- private _onTrackEnded;
4462
- private _handleTrack;
4463
- private _destroyTrack;
4464
- }
4465
-
4466
- interface UserDetailsResponse {
4467
- id: string;
4468
- name: string;
4469
- email: string;
4470
- picture?: string;
4471
- loggedIn?: boolean;
4472
- scope?: string[];
4473
- clientSpecificId?: string;
4474
- customParticipantId?: string;
4475
- organizationId?: string;
4476
- }
4477
- declare class Self extends SelfMedia {
4478
- name: string;
4479
- picture: string;
4480
- customParticipantId: string;
4481
- waitlistStatus: 'accepted' | 'waiting' | 'rejected' | 'none';
4482
- role: any;
4483
- userId: string;
4484
- organizationId: string;
4485
- supportsRemoteControl: boolean;
4486
- device: DeviceConfig;
4487
- get telemetry(): Telemetry;
4488
- hidden: boolean;
4489
- get stageStatus(): StageStatus;
4490
- get producers(): Producer[];
4491
- get id(): string;
4492
- get peerId(): string;
4493
- presetName: string;
4494
- roomState: 'init' | 'joined' | 'waitlisted' | LeaveRoomState;
4495
- private constructor();
4496
- static __init__(context: Context<ContextState>, details: UserDetailsResponse, permissions: PermissionPreset, theme: ThemePreset, presetName: string, skipAwaits?: boolean): Promise<Self>;
4497
- cleanupEvents(): void;
4498
- private setupEvents;
4499
- get permissions(): PermissionPreset;
4500
- get config(): ThemePreset;
4501
- get roomJoined(): boolean;
4502
- setName(name: string): void;
4503
- setupTracks(options?: {
4504
- video?: boolean;
4505
- audio?: boolean;
4506
- forceReset?: boolean;
4507
- }): Promise<void>;
4508
- destructMediaHandler(): Promise<void>;
4509
- removeDocumentEventListeners(): Promise<void>;
4510
- enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
4511
- enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
4512
- updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
4513
- enableScreenShare(): Promise<void>;
4514
- updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
4515
- disableAudio(): Promise<void>;
4516
- disableVideo(): Promise<void>;
4517
- disableScreenShare(): Promise<void>;
4518
- getAllDevices(): Promise<InputDeviceInfo[]>;
4519
- setIsPinned(isPinned: boolean, emitEvent?: boolean): void;
4520
- get isPinned(): boolean;
4521
- pin(): Promise<void>;
4522
- unpin(): Promise<void>;
4523
- hide(): Promise<void>;
4524
- show(): void;
4525
- setDevice(device: MediaDeviceInfo): Promise<void>;
4526
- cleanUpTracks(): void;
4527
- playAudio(): Promise<void>;
4528
- registerVideoElement(videoElem: HTMLVideoElement, isPreview?: boolean): void;
4529
- deregisterVideoElement(videoElem?: HTMLVideoElement, isPreview?: boolean): void;
4530
- private updateVideo;
4531
- }
4532
-
4533
- interface DeviceConfig {
4534
- browserName: string;
4535
- browserVersion: string;
4536
- isMobile: boolean;
4537
- engineName: string;
4538
- osName: string;
4539
- }
4540
- interface ProducerState {
4541
- producerId: string;
4542
- kind: 'audio' | 'video';
4543
- pause: boolean;
4544
- screenShare: boolean;
4545
- producingTransportId: string;
4546
- producingPeerId: string;
4547
- mimeType?: string;
4548
- consumer?: Partial<Consumer>;
4549
- }
4550
- interface IParticipant {
4551
- id: string;
4552
- userId: string;
4553
- displayName: string;
4554
- device?: DeviceConfig;
4555
- picture?: string;
4556
- isHost: boolean;
4557
- flags: {
4558
- [key: string]: string | boolean;
4559
- };
4560
- clientSpecificId?: string;
4561
- customParticipantId?: string;
4562
- stageStatus?: StageStatus;
4563
- audioMuted: boolean;
4564
- audioTrack: MediaStreamTrack;
4565
- videoTrack: MediaStreamTrack;
4566
- videoEnabled: boolean;
4567
- producers?: ProducerState[];
4568
- metadata?: {
4569
- preset_name?: string;
4570
- };
4571
- recorderType?: string;
4572
- }
4573
- declare class Participant extends TypedEventEmitter<ParticipantEvents> {
4574
- id: string;
4575
- userId: string;
4576
- name: string;
4577
- picture: string;
4578
- isHost: boolean;
4579
- customParticipantId?: string;
4580
- get clientSpecificId(): string;
4581
- flags: {
4582
- [key: string]: string | boolean;
4583
- };
4584
- device: DeviceConfig;
4585
- videoTrack: MediaStreamTrack;
4586
- audioTrack: MediaStreamTrack;
4587
- screenShareTracks: {
4588
- audio: MediaStreamTrack;
4589
- video: MediaStreamTrack;
4590
- };
4591
- videoEnabled: boolean;
4592
- audioEnabled: boolean;
4593
- screenShareEnabled: boolean;
4594
- producers: ProducerState[];
4595
- manualProducerConfig: PeerProducerConfig;
4596
- supportsRemoteControl: boolean;
4597
- presetName?: string;
4598
- get stageStatus(): StageStatus;
4599
- get telemetry(): Telemetry;
4600
- constructor(context: Context<ContextState>, participant: IParticipant, self: Self, roomSocket: RoomSocketHandler);
4601
- setVideoEnabled(videoEnabled: boolean, emitEvent?: boolean): void;
4602
- setAudioEnabled(audioEnabled: boolean, emitEvent?: boolean): void;
4603
- setScreenShareEnabled(screenShareEnabled: boolean, emitEvent?: boolean): void;
4604
- private setupEvents;
4605
- pin(): Promise<void>;
4606
- unpin(): Promise<void>;
4607
- setIsPinned(isPinned: boolean, emitEvent?: boolean): void;
4608
- disableAudio(): Promise<void>;
4609
- kick(): Promise<void>;
4610
- disableVideo(): Promise<void>;
4611
- getPermissions(): Promise<Pick<_cloudflare_realtimekit_utils.Permissions, "chat" | "polls" | "plugins">>;
4612
- setStageStatus(stageStatus: StageStatus): void;
4613
- get isPinned(): boolean;
4614
- registerVideoElement(videoElem: HTMLVideoElement): void;
4615
- deregisterVideoElement(videoElem?: HTMLVideoElement): void;
4616
- private updateVideo;
4617
- }
4618
-
4619
- declare function createSafeToLogError(ex: any): {
4620
- stack?: string;
4621
- message?: string;
4622
- name?: string;
4623
- reason?: string;
4624
- code?: number | string;
4625
- };
4626
-
4627
- type SupportedEventSeverities = 'info' | 'error' | 'debug' | 'log' | 'warn';
4628
- type LogData$2 = {
4629
- error?: ReturnType<typeof createSafeToLogError>;
4630
- peers?: string;
4631
- flags?: string | {
4632
- [key: string]: {
4633
- enabled: boolean;
4634
- value: string | number | boolean;
4635
- };
4636
- };
4637
- devices?: string | MediaDeviceInfo[];
4638
- debuggingHint?: string;
4639
- constraints?: string | ClientMediaStreamConstraints;
4640
- timeout?: number;
4641
- execTime?: number;
4642
- country?: string;
4643
- media?: {
4644
- audio?: {
4645
- enabled: boolean;
4646
- deviceName?: string;
4647
- deviceId?: string;
4648
- trackId?: string;
4649
- permission?: keyof typeof MediaPermission;
4650
- canProduce?: MediaProductionPermissionType;
4651
- };
4652
- video?: {
4653
- enabled?: boolean;
4654
- deviceName?: string;
4655
- deviceId?: string;
4656
- trackId?: string;
4657
- permission?: keyof typeof MediaPermission;
4658
- canProduce?: MediaProductionPermissionType;
4659
- layer?: number;
4660
- };
4661
- screenshare?: {
4662
- enabled: boolean;
4663
- count?: number;
4664
- maxAllowedCount?: number;
4665
- permission?: keyof typeof MediaPermission;
4666
- deviceName?: string;
4667
- deviceId?: string;
4668
- audio?: {
4669
- enabled: boolean;
4670
- trackId?: string;
4671
- };
4672
- video?: {
4673
- enabled: boolean;
4674
- trackId?: string;
4675
- };
4676
- canProduce?: MediaProductionPermissionType;
4677
- };
4678
- };
4679
- producerInfo?: {
4680
- peerId: string;
4681
- producers: ProducerState[];
4682
- };
4683
- preferredDevice?: {
4684
- kind: 'audio' | 'video';
4685
- preferredDeviceId?: string;
4686
- lastUsedPreferredDeviceId?: string;
4687
- };
4688
- mediaPermissionsErrors?: {
4689
- kind: 'audio' | 'video' | 'screenshare';
4690
- message: string;
4691
- deviceId?: string;
4692
- };
4693
- pip?: {
4694
- id: string;
4695
- handRaised?: boolean;
4696
- reaction?: string;
4697
- source?: any;
4698
- };
4699
- memoize?: {
4700
- doubleInvoked?: {
4701
- property: string;
4702
- };
4703
- };
4704
- clientInitOptions?: ClientOptions;
4705
- plugin?: {
4706
- id?: string;
4707
- name?: string;
4708
- enabledBy?: string;
4709
- duration?: number;
4710
- storeName?: string;
4711
- data?: any;
4712
- };
4713
- roomJoined?: boolean;
4714
- transport?: {
4715
- id?: string;
4716
- type?: 'send' | 'recv';
4717
- status?: RTCPeerConnectionState | 'reconnecting';
4718
- lastDisconnectedTime?: string;
4719
- lastDisconnectedTimeOffset?: number;
4720
- durationPassed?: number;
4721
- remoteOfferAnswer?: RTCSessionDescriptionInit;
4722
- serverId?: string;
4723
- };
4724
- iceCandidate?: RTCIceCandidate;
4725
- iceRestart?: {
4726
- status?: RTCPeerConnectionState | 'reconnecting';
4727
- isSendTransport?: boolean;
4728
- isRecvTransport?: boolean;
4729
- currentAttempt?: number;
4730
- };
4731
- producer?: {
4732
- id: string;
4733
- peerId?: string;
4734
- kind: 'audio' | 'video' | PRODUCERS_TYPE;
4735
- status?: 'not_initialized' | 'initializing' | 'producing' | 'paused' | 'failed' | 'closing' | 'closed' | 'UNKNOWN';
4736
- appData: {
4737
- screenShare?: boolean;
4738
- supportsRemoteControl?: boolean;
4739
- };
4740
- error?: string;
4741
- closureReason?: string;
4742
- remoteAnswer?: SessionDescription;
4743
- trackId?: string;
4744
- };
4745
- consumer?: {
4746
- id: string;
4747
- peerId?: string;
4748
- kind?: string;
4749
- appData?: {
4750
- screenShare?: boolean;
4751
- supportsRemoteControl?: boolean;
4752
- };
4753
- remotelyPaused?: boolean;
4754
- producerId?: string;
4755
- closureReason?: string;
4756
- sessionDescription?: RTCSessionDescriptionInit;
4757
- };
4758
- consumerIds?: string[];
4759
- consumerState?: ConsumerState;
4760
- consumerStateMap?: {
4761
- [key: string]: ConsumerState;
4762
- };
4763
- rtcChannel?: {
4764
- label?: string;
4765
- message?: DCMessage;
4766
- messageStringified?: string;
4767
- };
4768
- localStorage?: {
4769
- key?: string;
4770
- value?: string;
4771
- };
4772
- spotlight?: {
4773
- spotlighter?: {
4774
- id?: string;
4775
- };
4776
- currentTab?: {
4777
- id?: string;
4778
- type?: ActiveTabType;
4779
- };
4780
- };
4781
- networkCall?: {
4782
- status?: number;
4783
- statusText?: string;
4784
- baseURL?: string;
4785
- url?: string;
4786
- retries?: number;
4787
- method?: string;
4788
- isOnline?: string;
4789
- ip?: any;
4790
- timezone?: string;
4791
- };
4792
- polls?: {
4793
- hasQuestion?: boolean;
4794
- optionsLength?: number;
4795
- };
4796
- chat?: {
4797
- imageType?: string;
4798
- messageType?: string;
4799
- };
4800
- participant?: {
4801
- id: string;
4802
- maskedName?: string;
4803
- };
4804
- actions?: {
4805
- disableAllAudio?: {
4806
- allowUnmute?: boolean;
4807
- };
4808
- trackRobustness?: {
4809
- reacquireTrack?: boolean;
4810
- eventType?: string;
4811
- };
4812
- };
4813
- recording?: {
4814
- id?: string;
4815
- state?: RecordingState;
4816
- };
4817
- selectedPeer?: {
4818
- oldIndex?: number;
4819
- newIndex?: number;
4820
- peerId?: string;
4821
- };
4822
- pageNavigation?: {
4823
- viewMode: ViewMode;
4824
- currentPage: number;
4825
- pageCount: number;
4826
- maxActiveParticipantsCount: number;
4827
- settingPage?: number;
4828
- };
4829
- connectedMeetings?: {
4830
- movement?: {
4831
- sourceMeetingId?: string;
4832
- destinationMeetingId?: string;
4833
- totalParticipantsToMove?: number;
4834
- };
4835
- };
4836
- webinar?: {
4837
- stageStatus?: StageStatus;
4838
- };
4839
- livestream?: {
4840
- stageStatus?: StageStatus;
4841
- latency?: number;
4842
- };
4843
- moduleExists?: {
4844
- self?: boolean;
4845
- };
4846
- performanceObserver?: {
4847
- api: PerformanceEntry;
4848
- };
4849
- locker?: {
4850
- methodName: string;
4851
- lockName: string;
4852
- };
4853
- socket?: {
4854
- retryAttempt: number;
4855
- };
4856
- connectionState?: {
4857
- joinAttempted: boolean;
4858
- };
4859
- source?: string;
4860
- eventListener?: {
4861
- eventName: string;
4862
- listenerCount: number;
4863
- };
4864
- dataChannelMessageChunk?: {
4865
- id: string;
4866
- count: number;
4867
- chunkIndex: number;
4868
- chunk: string;
4869
- transprtId: string;
4870
- };
4871
- peerIds?: string[];
4872
- producers?: ProducerState[];
4873
- sdp?: RTCSessionDescription['sdp'];
4874
- awaitQueueTask?: {
4875
- id?: string | number;
4876
- metadata?: Record<string, unknown>;
4877
- queueSizeAtStart?: number;
4878
- taskStartTime?: number;
4879
- execTime?: number;
4880
- };
4881
- };
4882
-
4883
- type EventSeverities = SupportedEventSeverities;
4884
- type LogData$1 = LogData$2;
4885
- interface MeetingMetadata {
4886
- peerId?: string;
4887
- roomName?: string;
4888
- organizationId?: string;
4889
- sdkVersion?: string;
4890
- deviceInfo?: object;
4891
- visitedUrl?: string;
4892
- userId?: string;
4893
- }
4894
- declare class Telemetry {
4895
- logsCache: {
4896
- [key: string]: any;
4897
- }[];
4898
- logsProcessorTimer: NodeJS.Timer;
4899
- get logsEndpoint(): string;
4900
- tracingEnabled: boolean;
4901
- initialized: boolean;
4902
- readonly logsProcessingInterval = 7000;
4903
- logExclusionList: string[];
4904
- meetingMetadata: MeetingMetadata;
4905
- resetPeerId(peerId: string): void;
4906
- init(context: Context<ContextState>, options: MeetingMetadata, enableTracing: boolean): void;
4907
- static trace(spanName: string, metadata?: LogData$1 | undefined): (_target: Object, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
4908
- injectContext(injectionReceiver: any): void;
4909
- addLogInCurrentSpan(eventSeverity: EventSeverities, eventName: string, metadata?: LogData$1, noCache?: boolean): void;
4910
- sendOtelLogsToNewRelic(logs: object[]): void;
4911
- processCachedLogs(): void;
4912
- destruct(): void;
4913
- }
4914
-
4915
- type LogData = LogData$1;
4916
- declare class Logger {
4917
- get telemetry(): Telemetry;
4918
- init(context: Context<ContextState>): void;
4919
- info(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
4920
- error(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
4921
- debug(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
4922
- log(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
4923
- warn(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
4924
- }
4925
-
4926
- declare class CustomEventEmitter<T extends string | symbol> extends EventEmitter {
4927
- logger: Logger | undefined;
4928
- constructor(logger: Logger);
4929
- emit(event: T, ...args: any[]): boolean;
4930
- on(event: T, callback: (...args: any[]) => void): this;
4931
- addListener(event: T, callback: (...args: any[]) => any): this;
4932
- off(event: T, callback: (...args: any[]) => any): this;
4933
- once(event: T, callback: (...args: any[]) => any): this;
4934
- prependListener(event: T, callback: (...args: any[]) => any): this;
4935
- prependOnceListener(event: T, callback: (...args: any[]) => any): this;
4936
- removeListener(event: T, callback: (...args: any[]) => any): this;
4937
- removeAllListeners(event?: T): this;
4938
- listeners(event: T): Function[];
4939
- listenerCount(event: T): number;
4940
- }
4941
- type EventMap = {
4942
- [key: string]: (...args: any[]) => void;
4943
- };
4944
- type WildCardEvent<T> = {
4945
- ['*']: (event: StringKeyOf<T>, ...args: any) => void;
4946
- };
4947
- declare class TypedEventEmitter<Events extends EventMap & WildCardEvent<Events>> extends EventEmitter {
4948
- logger: Logger | undefined;
4949
- constructor(logger: Logger);
4950
- emit<E extends StringKeyOf<Events>>(event: E, ...args: Parameters<Events[E]>): boolean;
4951
- on<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
4952
- addListener<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
4953
- off<T extends StringKeyOf<Events>>(event: T, callback: Events[T]): this;
4954
- once<T extends StringKeyOf<Events>>(event: T, callback: Events[T]): this;
4955
- prependListener<T extends StringKeyOf<Events>>(event: T, callback: Events[T]): this;
4956
- prependOnceListener<T extends StringKeyOf<Events>>(event: T, callback: Events[T]): this;
4957
- removeListener<T extends StringKeyOf<Events>>(event: T, callback: Events[T]): this;
4958
- removeAllListeners<T extends StringKeyOf<Events>>(event?: T): this;
4959
- listeners<T extends StringKeyOf<Events>>(event: T): Function[];
4960
- listenerCount<T extends StringKeyOf<Events>>(event: T): number;
4961
- }
4962
-
4963
- type KeyProviderOptions = {
4964
- sharedKey: boolean;
4965
- ratchetSalt: string;
4966
- ratchetWindowSize: number;
4967
- };
4968
- type KeyInfo = {
4969
- key: CryptoKey;
4970
- participantId?: string;
4971
- keyIndex?: number;
4972
- };
4973
- type E2EEOptions = {
4974
- keyProvider: BaseKeyProvider;
4975
- };
4976
-
4977
- declare class BaseKeyProvider extends CustomEventEmitter<KeyProviderEvents> {
4978
- private keyInfoMap;
4979
- private options;
4980
- constructor(options?: Partial<KeyProviderOptions>);
4981
- protected onSetEncryptionKey(key: CryptoKey, participantId?: string, keyIndex?: number): void;
4982
- protected onKeyRatcheted: (material: CryptoKey, keyIndex?: number) => void;
4983
- getKeys(): KeyInfo[];
4984
- getOptions(): KeyProviderOptions;
4985
- ratchetKey(participantId?: string, keyIndex?: number): void;
4986
- }
4987
- declare class SharedKeyProvider extends BaseKeyProvider {
4988
- ratchetInterval: number | undefined;
4989
- constructor(options?: Partial<Omit<KeyProviderOptions, 'sharedKey'>>);
4990
- setKey(key: string): Promise<void>;
4991
- }
4992
-
4993
- declare class E2EEManager extends CustomEventEmitter<EncryptionEvents> {
4994
- protected worker: Worker;
4995
- private encryptionEnabled;
4996
- private keyProvider;
4997
- private peerSessionStore;
4998
- get isEnabled(): boolean;
4999
- static SharedKeyProvider: typeof SharedKeyProvider;
5000
- constructor(options: E2EEOptions);
5001
- init(logger: Logger, peerSessionStore: any): void;
5002
- setup(): void;
5003
- private onWorkerMessage;
5004
- }
5005
-
5006
- export { E2EEManager as default };