@cloudflare/realtimekit 1.1.6 → 1.1.7-agent.1

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