@cloudflare/realtimekit 1.1.0-staging.2 → 1.1.0-staging.4

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