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