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