@zoom/meetingsdk 3.0.0-rc

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.
Files changed (112) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE.pdf +0 -0
  3. package/README.md +182 -0
  4. package/dist/css/bootstrap.css +5 -0
  5. package/dist/css/react-select.css +434 -0
  6. package/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  7. package/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  8. package/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  9. package/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  10. package/dist/lib/audio/archival.mp3 +0 -0
  11. package/dist/lib/audio/incoming-msg-chime.mp3 +0 -0
  12. package/dist/lib/audio/m-entry.mp3 +0 -0
  13. package/dist/lib/audio/m-exit.mp3 +0 -0
  14. package/dist/lib/audio/m-wr.mp3 +0 -0
  15. package/dist/lib/audio/meeting_is_now_recorded.mp3 +0 -0
  16. package/dist/lib/audio/raise-hand-chime.mp3 +0 -0
  17. package/dist/lib/audio/recording_is_now_stopped.mp3 +0 -0
  18. package/dist/lib/audio/ring.mp3 +0 -0
  19. package/dist/lib/av/audio.encode.wasm +0 -0
  20. package/dist/lib/av/audio.simd.wasm +0 -0
  21. package/dist/lib/av/audio_simd.min.js +10 -0
  22. package/dist/lib/av/js_audio_process.min.js +10 -0
  23. package/dist/lib/av/js_audio_worklet.min.js +2 -0
  24. package/dist/lib/av/js_audio_worklet_process.min.js +25 -0
  25. package/dist/lib/av/js_audio_worklet_simd.min.js +25 -0
  26. package/dist/lib/av/js_media.min.js +2 -0
  27. package/dist/lib/av/js_sharing_audio_worklet.min.js +2 -0
  28. package/dist/lib/av/sharing_m.min.js +31 -0
  29. package/dist/lib/av/sharing_mtsimd.min.js +31 -0
  30. package/dist/lib/av/sharing_s.min.js +10 -0
  31. package/dist/lib/av/sharing_simd.min.js +10 -0
  32. package/dist/lib/av/vb-resource/dualModel.bin +0 -0
  33. package/dist/lib/av/vb-resource/tf.min.js +18 -0
  34. package/dist/lib/av/vb-resource/vbPreload.js +1 -0
  35. package/dist/lib/av/vb-resource/vbPreloadWorker.js +1 -0
  36. package/dist/lib/av/video.decode.wasm +0 -0
  37. package/dist/lib/av/video.mt.wasm +0 -0
  38. package/dist/lib/av/video.mtsimd.wasm +0 -0
  39. package/dist/lib/av/video.simd.wasm +0 -0
  40. package/dist/lib/av/video_m.min.js +31 -0
  41. package/dist/lib/av/video_mtsimd.min.js +31 -0
  42. package/dist/lib/av/video_s.min.js +10 -0
  43. package/dist/lib/av/video_share_mtsimd.min.js +31 -0
  44. package/dist/lib/av/video_simd.min.js +10 -0
  45. package/dist/lib/av/websipclient.min.js +1 -0
  46. package/dist/lib/image/SanFrancisco.jpg +0 -0
  47. package/dist/lib/image/animation-sprite.png +0 -0
  48. package/dist/lib/image/blur.png +0 -0
  49. package/dist/lib/image/earth.jpg +0 -0
  50. package/dist/lib/image/grass.jpg +0 -0
  51. package/dist/lib/image/mask-circle.png +0 -0
  52. package/dist/lib/image/mask-heart.png +0 -0
  53. package/dist/lib/image/mask-rectangle.png +0 -0
  54. package/dist/lib/image/notification.png +0 -0
  55. package/dist/lib/lang/de-DE.json +1727 -0
  56. package/dist/lib/lang/en-US.json +1727 -0
  57. package/dist/lib/lang/es-ES.json +1727 -0
  58. package/dist/lib/lang/fr-FR.json +1727 -0
  59. package/dist/lib/lang/id-ID.json +1727 -0
  60. package/dist/lib/lang/it-IT.json +1727 -0
  61. package/dist/lib/lang/jp-JP.json +1727 -0
  62. package/dist/lib/lang/ko-KO.json +1727 -0
  63. package/dist/lib/lang/nl-NL.json +1727 -0
  64. package/dist/lib/lang/pl-PL.json +1727 -0
  65. package/dist/lib/lang/pt-PT.json +1727 -0
  66. package/dist/lib/lang/ru-RU.json +1727 -0
  67. package/dist/lib/lang/tr-TR.json +1727 -0
  68. package/dist/lib/lang/vi-VN.json +1727 -0
  69. package/dist/lib/lang/zh-CN.json +1727 -0
  70. package/dist/lib/lang/zh-TW.json +1727 -0
  71. package/dist/lib/vendor/lodash.min.js +140 -0
  72. package/dist/lib/vendor/react-dom.min.js +239 -0
  73. package/dist/lib/vendor/react.min.js +32 -0
  74. package/dist/lib/vendor/redux-thunk.min.js +1 -0
  75. package/dist/lib/vendor/redux.min.js +1 -0
  76. package/dist/lib/webim.min.js +23 -0
  77. package/dist/ui/33f06.svg +647 -0
  78. package/dist/ui/zoomus-websdk-806.umd.min.js +1 -0
  79. package/dist/ui/zoomus-websdk-MobileReportProblemContent.umd.min.js +2 -0
  80. package/dist/ui/zoomus-websdk-ReportProblemContent.umd.min.js +2 -0
  81. package/dist/ui/zoomus-websdk-editor_de-DE.umd.min.js +1 -0
  82. package/dist/ui/zoomus-websdk-editor_es-ES.umd.min.js +1 -0
  83. package/dist/ui/zoomus-websdk-editor_fr-FR.umd.min.js +1 -0
  84. package/dist/ui/zoomus-websdk-editor_id-ID.umd.min.js +1 -0
  85. package/dist/ui/zoomus-websdk-editor_it-IT.umd.min.js +1 -0
  86. package/dist/ui/zoomus-websdk-editor_ja-JP.umd.min.js +1 -0
  87. package/dist/ui/zoomus-websdk-editor_ko-KR.umd.min.js +1 -0
  88. package/dist/ui/zoomus-websdk-editor_nl-NL.umd.min.js +1 -0
  89. package/dist/ui/zoomus-websdk-editor_pl-PL.umd.min.js +1 -0
  90. package/dist/ui/zoomus-websdk-editor_pt-PT.umd.min.js +1 -0
  91. package/dist/ui/zoomus-websdk-editor_ru-RU.umd.min.js +1 -0
  92. package/dist/ui/zoomus-websdk-editor_tr-TR.umd.min.js +1 -0
  93. package/dist/ui/zoomus-websdk-editor_vi-VN.umd.min.js +1 -0
  94. package/dist/ui/zoomus-websdk-editor_zh-CN.umd.min.js +1 -0
  95. package/dist/ui/zoomus-websdk-editor_zh-TW.umd.min.js +1 -0
  96. package/dist/ui/zoomus-websdk-icons.umd.min.js +1 -0
  97. package/dist/ui/zoomus-websdk-loginview.umd.min.js +1 -0
  98. package/dist/ui/zoomus-websdk-lottie-web.umd.min.js +1 -0
  99. package/dist/ui/zoomus-websdk-lottie.umd.min.js +1 -0
  100. package/dist/ui/zoomus-websdk-main-client.umd.min.js +2 -0
  101. package/dist/ui/zoomus-websdk-preview.umd.min.js +2 -0
  102. package/dist/ui/zoomus-websdk-zoommtgMain.umd.min.js +2 -0
  103. package/dist/zoom-meeting-3.0.0.min.js +2 -0
  104. package/dist/zoom-meeting-embedded-ES5.min.js +2 -0
  105. package/dist/zoomus-websdk-embedded.umd.min.js +2 -0
  106. package/dist/zoomus-websdk.umd.min.js +2 -0
  107. package/embedded.d.ts +1567 -0
  108. package/embedded.js +3 -0
  109. package/index.d.ts +2101 -0
  110. package/index.js +4 -0
  111. package/oss_attribution.txt +6432 -0
  112. package/package.json +53 -0
package/embedded.d.ts ADDED
@@ -0,0 +1,1567 @@
1
+ /**
2
+ * Define error types of operations.
3
+ * - INVALID_OPERATION: The operation is invalid, perhaps caused by duplicated operations.
4
+ * - INTERNAL_ERROR: The remote service is temporarily unavailable.
5
+ * - INSUFFICIENT_PRIVILEGES: The operation is only applicable for a host or co-host.
6
+ * - OPERATION_TIMEOUT: The operation timed out, try again later.
7
+ * - IMPROPER_MEETING_STATE: The user is not in the meeting, see the relevant reason for details.
8
+ * - `closed`: The meeting is not joined.
9
+ * - `on hold`: The user is on hold (in a waiting room).
10
+ * - `reconnecting`: The meeting is reconnecting.
11
+ * - INVALID_PARAMETERS: The parameters passed to the method are invalid. This may be due to an incorrect user ID or value. See the relevant reason for details.
12
+ * - OPERATION_LOCKED: The operation can not be completed because the relevant property is locked, see the relevant reason for details.
13
+ */
14
+ export type ErrorTypes =
15
+ | 'INVALID_OPERATION'
16
+ | 'INTERNAL_ERROR'
17
+ | 'OPERATION_TIMEOUT'
18
+ | 'INSUFFICIENT_PRIVILEGES'
19
+ | 'IMPROPER_MEETING_STATE'
20
+ | 'INVALID_PARAMETERS'
21
+ | 'OPERATION_LOCKED';
22
+ export interface ExecutedFailure {
23
+ type: ErrorTypes;
24
+ reason: string;
25
+ }
26
+ /**
27
+ * Interface for the result of check system requirements.
28
+ * > if `audio` is `false`, it means the system cannot support VoIP, but you can join the audio by phone.
29
+ */
30
+ export interface MediaCompatiblity {
31
+ /**
32
+ */
33
+ audio: boolean;
34
+ /**
35
+ */
36
+ video: boolean;
37
+ /**
38
+ */
39
+ screen: boolean;
40
+ }
41
+ /**
42
+ * The result of asynchronous operation. It is a promise object.
43
+ * - '': Success
44
+ * - ExecutedFailure: Failure. Use `.catch(error=>{})` or `try{ *your code* }catch(error){}` to handle the errors.
45
+ */
46
+ export type ExecutedResult = Promise<string | ExecutedFailure>;
47
+ /**
48
+ * Chat message interface.
49
+ */
50
+ export interface ChatMessage {
51
+ /**
52
+ * Message ID. Used to delete or modify a message.
53
+ */
54
+ id?: string;
55
+ /**
56
+ * Message content.
57
+ */
58
+ message: string;
59
+ /**
60
+ * Message sender. Includes name, userId, and avatar.
61
+ */
62
+ sender: { name: string; userId: number; avatar?: string };
63
+ /**
64
+ * Message receiver. Includes name and userId.
65
+ */
66
+ receiver: {
67
+ name: string;
68
+ userId: number;
69
+ };
70
+ /**
71
+ * Timestamp of message.
72
+ */
73
+ timestamp: number;
74
+ }
75
+ /**
76
+ * Interface for recording information.
77
+ */
78
+ export interface RecordingInfo {
79
+ /**
80
+ * User's custom disclaimer information, if set.
81
+ */
82
+ recordingDisclaimer: Record<string, any>;
83
+ /**
84
+ * User's custom disclaimer information to show when initiating the recording, if set.
85
+ */
86
+ recordingDisclaimerForRecorder: Record<string, any>;
87
+ /**
88
+ * Attribute if the user enabled a recording reminder.
89
+ */
90
+ isUserEnableRecordingReminder: boolean;
91
+ }
92
+ /**
93
+ * Cloud recording status.
94
+ */
95
+
96
+ export const enum RecordingStatus {
97
+ Recording = 'Recording',
98
+ Paused = 'Paused',
99
+ Stopped = 'Stopped'
100
+ }
101
+ export type RecordingStatusValue = 'Recording' | 'Paused' | 'Stopped';
102
+ /**
103
+ * Media capture status.
104
+ */
105
+ export const enum MediaCaptureStatus {
106
+ Stop = 0,
107
+ Start = 1,
108
+ Pause = 2
109
+ }
110
+ export type MediaCaptureStatusValue = 0 | 1 | 2;
111
+
112
+ /**
113
+ * Media capture permission.
114
+ */
115
+ export const enum MediaCapturePermission {
116
+ /**
117
+ * Host denies the media capture request.
118
+ */
119
+ Deny = 1,
120
+ /**
121
+ * Host allows the media capture request.
122
+ */
123
+ Allow = 2
124
+ }
125
+ export type MediaCapturePermissionValue = 0 | 1 | 2;
126
+ /**
127
+ * Media capture operation values.
128
+ */
129
+ export type MediaCaptureOperationValue = 'grant' | 'request' | 'revoke';
130
+ /**
131
+ * Participant interface.
132
+ */
133
+ export interface Participant {
134
+ /**
135
+ * User's unique ID.
136
+ */
137
+ userId: number;
138
+ /**
139
+ * User's display name.
140
+ */
141
+ userName: string;
142
+ /**
143
+ * @deprecated in v4.0.0, use `userName`
144
+ */
145
+ displayName: string;
146
+ /**
147
+ * User's audio state.
148
+ * - `''`: No audio.
149
+ * - `computer`: Joined by computer audio.
150
+ * - `phone`: Joined by phone.
151
+ */
152
+ audio: string;
153
+ /**
154
+ * Whether audio is muted.
155
+ */
156
+ muted: boolean;
157
+ /**
158
+ * Whether the user is the host.
159
+ */
160
+ isHost: boolean;
161
+ /**
162
+ * Whether the user is a co-host.
163
+ */
164
+ isCoHost: boolean;
165
+ /**
166
+ * Whether the user is a guest (not attached to the account).
167
+ */
168
+ isGuest: boolean;
169
+ /**
170
+ * User's avatar.
171
+ * Users can set their avatar in their [web profile](https://zoom.us/profile).
172
+ */
173
+ avatar: string;
174
+ /**
175
+ * Whether the user is a phone call user.
176
+ */
177
+ isPhoneUser: boolean;
178
+ /**
179
+ * Whether the user has raised their hand.
180
+ */
181
+ bRaiseHand: boolean;
182
+ /**
183
+ * Whether the user is on hold.
184
+ */
185
+ isHold: boolean;
186
+ /**
187
+ * @deprecated in v4.0.0, use `isHold`
188
+ */
189
+ bHold: boolean;
190
+ /**
191
+ * Whether the user started video.
192
+ */
193
+ video: boolean;
194
+ /**
195
+ * @deprecated in v4.0.0, use `video`
196
+ */
197
+ bVideoOn: boolean;
198
+ /**
199
+ * Whether the user has started sharing.
200
+ */
201
+ sharerOn: boolean;
202
+ /**
203
+ * Whether the user is allowed to talk.
204
+ * Available in webinars.
205
+ */
206
+ isAllowToTalk?: boolean;
207
+ /**
208
+ * Nonverbal feedback of a user.
209
+ */
210
+ feedback: number;
211
+ /**
212
+ * Whether the share is paused.
213
+ */
214
+ sharePause: boolean;
215
+ isAssistant?: boolean;
216
+ /**
217
+ * * @deprecated in v4.0.0, use `isAssistant`
218
+ */
219
+ astAdmin?: boolean;
220
+ isAdmin?: boolean;
221
+ /**
222
+ * @deprecated in v4.0.0, use `isAdmin`
223
+ */
224
+ rmcAdmin?: boolean;
225
+ /**
226
+ * Whether the participant started local recording (such as on computer).
227
+ */
228
+ bLocalRecord?: boolean;
229
+ /**
230
+ * Optional. An identifier for the user that you can get back from the Meeting API.
231
+ */
232
+ customerKey?: string;
233
+ /**
234
+ * User pronoun
235
+ */
236
+ pronoun?: string;
237
+ /**
238
+ * @deprecated in v4.0.0, use `pronoun`
239
+ */
240
+ strPronoun?: string;
241
+ /**
242
+ * Participants's audio status.
243
+ * - 0: NotConnect,
244
+ * - 1: Connecting,
245
+ * - 2: ConnectSuccess,
246
+ * - 3: ConnectFail,
247
+ */
248
+ audioStatus?: number;
249
+ /**
250
+ * @deprecated in v4.0.0, use `audioStatus`
251
+ */
252
+ audioConnectionStatus?: number;
253
+ /**
254
+ * Whether video is connected.
255
+ */
256
+ isVideoConnect?: boolean;
257
+ /**
258
+ * @deprecated in v4.0.0, use `isVideoConnect`
259
+ */
260
+ bVideoConnect?: boolean;
261
+ /**
262
+ * participantUUID
263
+ */
264
+ participantUUID?: string;
265
+ /**
266
+ * @deprecated in v4.0.0, use `participantUUID`
267
+ */
268
+ userGuid?: string;
269
+ }
270
+ /**
271
+ * The meeting information interface.
272
+ */
273
+ export interface MeetingInfo {
274
+ /**
275
+ * The meeting number.
276
+ */
277
+ meetingNumber: number;
278
+ /**
279
+ * The meeting password, if it exists.
280
+ */
281
+ password: string;
282
+ /**
283
+ * The meeting telephone password, if it exists.
284
+ */
285
+ telPwd: string;
286
+ /**
287
+ * The user's name.
288
+ */
289
+ userName: string;
290
+ /**
291
+ * The user's ID.
292
+ */
293
+ userId: number;
294
+ /**
295
+ * The user's email address.
296
+ */
297
+ userEmail: string;
298
+ /**
299
+ * The meeting invite email key.
300
+ */
301
+ inviteEmail: string;
302
+ /**
303
+ * The user's customer key.
304
+ */
305
+ customerKey: string;
306
+ /**
307
+ * The topic of the meeting.
308
+ */
309
+ meetingTopic: string;
310
+ /**
311
+ * The encryption type of the meeting.
312
+ */
313
+ encryptionType: 'None' | 'AES ECB' | 'AES GCM';
314
+ /**
315
+ * The server region.
316
+ */
317
+ region: string;
318
+ /**
319
+ * The server network.
320
+ */
321
+ network: string;
322
+ /**
323
+ * Whether the user is in the meeting.
324
+ */
325
+ isInMeeting: boolean;
326
+ /**
327
+ * The language for the SDK.
328
+ */
329
+ lang: string;
330
+ /**
331
+ * The Zoom meeting UUID.
332
+ */
333
+ meetingId: string;
334
+ /**
335
+ * The web endpoint.
336
+ */
337
+ webEndpoint: string;
338
+ /**
339
+ * The participant ID.
340
+ */
341
+ participantId: number;
342
+ /**
343
+ * Recording information.
344
+ */
345
+ recordingInfo: RecordingInfo;
346
+ }
347
+ /**
348
+ * Interface to define a custom button for the toolbar "More" dropdown menu.
349
+ */
350
+ export declare interface CustomButton {
351
+ /**
352
+ * The button's label.
353
+ */
354
+ text: string;
355
+ /**
356
+ * Callback when the button is clicked.
357
+ */
358
+ onClick: Function;
359
+ /**
360
+ * The button's class name.
361
+ */
362
+ className?: string;
363
+ }
364
+ /** Interface defining custom component sizes. */
365
+ export interface CustomSize {
366
+ width: number;
367
+ height: number;
368
+ }
369
+ /** Interface defining the virtual background image. */
370
+ export interface VbImageInfoType {
371
+ id: string;
372
+ fileName: string;
373
+ displayName: string;
374
+ url: string;
375
+ }
376
+ /**
377
+ * The live transcription message's source.
378
+ */
379
+ export enum LiveTranscriptionMessageSource {
380
+ /**
381
+ * Unspecified.
382
+ */
383
+ Unspecified = 0,
384
+ /**
385
+ * User-typed caption in the meeting.
386
+ */
387
+ InMeetingManual = 1,
388
+ /**
389
+ * Using the external captioner.
390
+ */
391
+ ExternalCaptioner = 2,
392
+ /**
393
+ * Automatic speech recognition.
394
+ */
395
+ ASR = 4
396
+ }
397
+ /**
398
+ * The live transcription's language code.
399
+ */
400
+ export enum LiveTranscriptionLanguageCode {
401
+ /**
402
+ * English
403
+ */
404
+ English = 0,
405
+ /**
406
+ * Chinese
407
+ */
408
+ 'Chinese (Simplified)' = 1,
409
+ /**
410
+ * Japanese
411
+ */
412
+ Japanese = 2,
413
+ /**
414
+ * German
415
+ */
416
+ German = 3,
417
+ /**
418
+ * French
419
+ */
420
+ French = 4,
421
+ /**
422
+ * Russian
423
+ */
424
+ Russian = 5,
425
+ /**
426
+ * Portuguese
427
+ */
428
+ Portuguese = 6,
429
+ /**
430
+ * Spanish
431
+ */
432
+ Spanish = 7,
433
+ /**
434
+ * Korean
435
+ */
436
+ Korean = 8,
437
+ /**
438
+ * Italian
439
+ */
440
+ Italian = 9,
441
+ /**
442
+ * Reserved
443
+ */
444
+ Reserved = 10,
445
+ /**
446
+ * Vietnamese
447
+ */
448
+ Vietnamese = 11,
449
+ /**
450
+ * Dutch
451
+ */
452
+ Dutch = 12,
453
+ /**
454
+ * Ukrainian
455
+ */
456
+ Ukrainian = 13,
457
+ /**
458
+ * Arabic
459
+ */
460
+ Arabic = 14,
461
+ /**
462
+ * Bengali
463
+ */
464
+ Bengali = 15,
465
+ /**
466
+ * Chinese (Traditional)'
467
+ */
468
+ 'Chinese (Traditional)' = 16,
469
+ /**
470
+ * Czech
471
+ */
472
+ Czech = 17,
473
+ /**
474
+ * Estonian
475
+ */
476
+ Estonian = 18,
477
+ /**
478
+ * Finnish
479
+ */
480
+ Finnish = 19,
481
+ /**
482
+ * Greek
483
+ */
484
+ Greek = 20,
485
+ /**
486
+ * Hebrew
487
+ */
488
+ Hebrew = 21,
489
+ /**
490
+ * Hindi
491
+ */
492
+ Hindi = 22,
493
+ /**
494
+ * Hungarian
495
+ */
496
+ Hungarian = 23,
497
+ /**
498
+ * Indonesian
499
+ */
500
+ Indonesian = 24,
501
+ /**
502
+ * Malay
503
+ */
504
+ Malay = 25,
505
+ /**
506
+ * Persian
507
+ */
508
+ Persian = 26,
509
+ /**
510
+ * Polish
511
+ */
512
+ Polish = 27,
513
+ /**
514
+ * Romanian
515
+ */
516
+ Romanian = 28,
517
+ /**
518
+ * Swedish
519
+ */
520
+ Swedish = 29,
521
+ /**
522
+ * Tamil
523
+ */
524
+ Tamil = 30,
525
+ /**
526
+ * Telugu
527
+ */
528
+ Telugu = 31,
529
+ /**
530
+ * Tagalog
531
+ */
532
+ Tagalog = 32,
533
+ /**
534
+ * Turkish
535
+ */
536
+ Turkish = 33,
537
+ /**
538
+ * No translation.
539
+ */
540
+ NoTranslation = 400,
541
+ /**
542
+ * Manual caption.
543
+ */
544
+ DefaultManualInput = 401
545
+ }
546
+ /**
547
+ * The participant properties interface.
548
+ */
549
+ export interface ParticipantPropertiesPayload {
550
+ /**
551
+ * The user's ID.
552
+ */
553
+ userId: number;
554
+ /**
555
+ * Avatar of the user.
556
+ */
557
+ avatar?: string;
558
+ /**
559
+ * Whether the user can edit closed captions.
560
+ */
561
+ bCCEditor?: boolean;
562
+ /**
563
+ * Whether the user is a guest (does not belong to the same account).
564
+ */
565
+ isGuest?: boolean;
566
+ /**
567
+ * Whether the user is on hold.
568
+ */
569
+ bHold?: boolean;
570
+ /**
571
+ * Whether the user's hand is raised.
572
+ */
573
+ bRaiseHand?: boolean;
574
+ /**
575
+ * The breakout room's ID.
576
+ */
577
+ bid?: number;
578
+ /**
579
+ * Display name.
580
+ */
581
+ displayName?: string;
582
+ /**
583
+ * The current client's type.
584
+ */
585
+ os?: number;
586
+ /**
587
+ * The user's role.
588
+ */
589
+ userRole?: number;
590
+ /**
591
+ * Whether the user is the host.
592
+ */
593
+ isHost?: boolean;
594
+ /**
595
+ * Whether the user is a co-host.
596
+ */
597
+ bCoHost: boolean;
598
+ /**
599
+ * The type of user:
600
+ * - `9`: Client
601
+ * - `5`: Phone
602
+ * - `15`: H323 device
603
+ */
604
+ userType?: number;
605
+ /**
606
+ * The internal ID.
607
+ */
608
+ zoomID?: string;
609
+ /**
610
+ * The user's audio.
611
+ */
612
+ audio?: string;
613
+ /**
614
+ * @ignore
615
+ */
616
+ caps?: number;
617
+ /**
618
+ * Whether the audio is muted.
619
+ */
620
+ muted?: boolean;
621
+ /**
622
+ * Whether the user is starting the video.
623
+ */
624
+ bVideoOn?: boolean;
625
+ /**
626
+ * Nonverbal feedback.
627
+ */
628
+ feedback?: number;
629
+ /**
630
+ * Whether the user is starting sharing.
631
+ */
632
+ sharerOn?: boolean;
633
+ /**
634
+ * Whether sharing is paused.
635
+ */
636
+ sharerPause?: boolean;
637
+ /**
638
+ * Whether the user is starting local recording.
639
+ */
640
+ bLocalRecord?: boolean;
641
+ /**
642
+ * Whether a new user joins the meeting due to failover or an on hold change.
643
+ */
644
+ source?: 'on hold' | 'failover';
645
+ /**
646
+ * Whether the participants leave the meeting due to failover or an on hold change.
647
+ */
648
+ reason?: 'on hold' | 'failover';
649
+ /**
650
+ * Participants's audio status.
651
+ * - 0: NotConnect,
652
+ * - 1: Connecting,
653
+ * - 2: ConnectSuccess,
654
+ * - 3: ConnectFail,
655
+ */
656
+ audioConnectionStatus?: number;
657
+ }
658
+ /**
659
+ * The view types
660
+ */
661
+ export const enum SuspensionViewType {
662
+ Minimized = 'minimized',
663
+ Speaker = 'speaker',
664
+ Ribbon = 'ribbon',
665
+ Gallery = 'gallery',
666
+ Active = 'active'
667
+ }
668
+ export type SuspensionViewValue = 'minimized' | 'speaker' | 'ribbon' | 'gallery' | 'active';
669
+ /**
670
+ * Arguments and options for joining a meeting.
671
+ */
672
+ export interface JoinOptions {
673
+ /**
674
+ * @param sdkKey The Meeting SDK SDK key or client ID.
675
+ */
676
+ sdkKey?: string;
677
+ /**
678
+ * @param signature The generated signature to create or join the meeting.
679
+ * See [Generate the SDK JWT](https://developers.zoom.us/docs/meeting-sdk/auth/) for details.
680
+ */
681
+ signature: string;
682
+ /**
683
+ * @param meetingNumber The Zoom Meeting number.
684
+ */
685
+ meetingNumber: string;
686
+ /**
687
+ * @param password The meeting password.
688
+ */
689
+ password?: string;
690
+ /**
691
+ * @param userName The user's name.
692
+ */
693
+ userName: string;
694
+ /**
695
+ * @param userEmail The user's email address.
696
+ */
697
+ userEmail?: string;
698
+ /**
699
+ * @param customerKey The user's customer key.
700
+ */
701
+ customerKey?: string;
702
+ /**
703
+ * @param tk Optional 'tk' param to join a webinar with registration.
704
+ */
705
+ tk?: string;
706
+ /**
707
+ * @param zak Optional 'zak' param to start a meeting or webinar with OAuth.
708
+ */
709
+ zak?: string;
710
+ /**
711
+ * @param recordingToken Optional token to allow local recording. See [Get a meeting's join token for local recording](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingLocalRecordingJoinToken) for details.
712
+ */
713
+ recordingToken?: string;
714
+ /**
715
+ * @param success Join success callback.
716
+ */
717
+ success?: Function;
718
+ /**
719
+ * @param error Join error callback.
720
+ */
721
+ error?: Function;
722
+ }
723
+ /**
724
+ * Interface of active speaker in meeting.
725
+ */
726
+ export interface ActiveSpeaker {
727
+ /**
728
+ * User ID.
729
+ */
730
+ userId: number;
731
+ /**
732
+ * User's display name.
733
+ */
734
+ displayName?: string;
735
+ }
736
+ export type MeetingInfoType = 'topic' | 'host' | 'mn' | 'pwd' | 'telPwd' | 'invite' | 'participant' | 'dc' | 'enctype';
737
+ export type PopperPlacementType =
738
+ | 'bottom-end'
739
+ | 'bottom-start'
740
+ | 'bottom'
741
+ | 'left-end'
742
+ | 'left-start'
743
+ | 'left'
744
+ | 'right-end'
745
+ | 'right-start'
746
+ | 'right'
747
+ | 'top-end'
748
+ | 'top-start'
749
+ | 'top';
750
+ export interface PositionStyle {
751
+ top?: string | number;
752
+ left?: string | number;
753
+ right?: string | number;
754
+ bottom?: string | number;
755
+ }
756
+ export interface PopperStyle {
757
+ disableDraggable?: boolean;
758
+ anchorReference?: 'anchorEl' | 'anchorPosition';
759
+ anchorElement?: HTMLElement | null;
760
+ anchorPosition?: PositionStyle;
761
+ modifiers?: object;
762
+ placement?: PopperPlacementType;
763
+ }
764
+ export type VideoPopperStyle = Omit<PopperStyle, 'anchorElement' | 'modifiers' | 'placement' | 'anchorReference'>;
765
+ export type LanguageOptionType =
766
+ | 'en-US'
767
+ | 'de-DE'
768
+ | 'es-ES'
769
+ | 'fr-FR'
770
+ | 'jp-JP'
771
+ | 'pt-PT'
772
+ | 'ru-RU'
773
+ | 'zh-CN'
774
+ | 'zh-TW'
775
+ | 'ko-KO'
776
+ | 'vi-VN'
777
+ | 'it-IT'
778
+ | 'pl-PL'
779
+ | 'tr-TR'
780
+ | 'id-ID'
781
+ | 'nl-NL';
782
+ /**
783
+ * Options to customize video.
784
+ * @param popper Options for the underlying popper element.
785
+ * @param isResizable Whether the video container is resizable. Default is true.
786
+ * @param viewSizes Sizing options for (a) ribbon view, and (b) all other views.
787
+ * @param defaultViewType default view type for the meeting. Note that this is an init-only option, and does nothing post-init
788
+ */
789
+ export interface VideoOptions {
790
+ popper?: VideoPopperStyle;
791
+ isResizable?: boolean;
792
+ viewSizes?: {
793
+ ribbon?: CustomSize;
794
+ default?: CustomSize;
795
+ };
796
+ defaultViewType?: SuspensionViewType;
797
+ }
798
+ export interface InitOptions {
799
+ debug?: boolean;
800
+ /**
801
+ * Renders the toolbar and main-panel-view using ReactDOM into the given container.
802
+ * @param zoomAppRoot The HTML element, typically a <div>, to render the toolbar in.
803
+ */
804
+ zoomAppRoot: HTMLElement | undefined;
805
+ /**
806
+ * @param assetPath Default 'https://source.zoom.us/{version}/lib/av'.
807
+ */
808
+ assetPath?: string;
809
+ /**
810
+ * @param webEndpoint Default 'zoom.us'.
811
+ */
812
+ webEndpoint?: string;
813
+ /**
814
+ * @param language Default 'en-US'.
815
+ * @property de-DE - German Deutsch
816
+ * @property es-ES - Spanish Español
817
+ * @property fr-FR - French Français
818
+ * @property id-ID - Indonesian Bahasa Indonesia
819
+ * @property it-IT - Italian Italia
820
+ * @property jp-JP - Japanese 日本語
821
+ * @property ko-KO - Korean 한국
822
+ * @property nl-NL - Dutch Nederlands
823
+ * @property pl-PL - Polish Polska
824
+ * @property pt-PT - Portuguese Português
825
+ * @property ru-RU - Russian Русский
826
+ * @property tr-TR - Turkish Türkçe
827
+ * @property zh-CN - Chinese 简体中文
828
+ * @property zh-TW - Chinese 繁体中文
829
+ * @property vi-VN - Vietnamese Tiếng Việt
830
+ * @property en-US - English Default
831
+ */
832
+ language?:
833
+ | 'en-US'
834
+ | 'de-DE'
835
+ | 'es-ES'
836
+ | 'fr-FR'
837
+ | 'jp-JP'
838
+ | 'pt-PT'
839
+ | 'ru-RU'
840
+ | 'zh-CN'
841
+ | 'zh-TW'
842
+ | 'ko-KO'
843
+ | 'vi-VN'
844
+ | 'it-IT'
845
+ | 'pl-PL'
846
+ | 'tr-TR'
847
+ | 'id-ID'
848
+ | 'nl-NL';
849
+ /**
850
+ * @param customize Optional customization options for the embedded client.
851
+ */
852
+ customize?: {
853
+ /**
854
+ * Customization options for the toolbar.
855
+ * @param buttons Custom buttons to add to the toolbar dropdown menu.
856
+ */
857
+ toolbar?: {
858
+ buttons?: Array<CustomButton>;
859
+ };
860
+ /** Customization options for meeting info attributes. */
861
+ meetingInfo?: Array<MeetingInfoType>;
862
+ /**
863
+ * Customize the meeting invite URL format (e.g. https://yourdomain/{0}?pwd={1}).
864
+ * This will not work by default, you need to set `Enable Client SDK Customize Invite Url`.
865
+ */
866
+ inviteUrlFormat?: string;
867
+ /**
868
+ * Customization options for the participants panel.
869
+ * @param popper Options for the underlying popper element.
870
+ */
871
+ participants?: {
872
+ popper?: PopperStyle;
873
+ };
874
+ /**
875
+ * Customization options for the settings panel.
876
+ * @param popper Options for the underlying popper element.
877
+ */
878
+ setting?: {
879
+ popper?: PopperStyle;
880
+ };
881
+ /**
882
+ * Customization options for chat notifications and panel.
883
+ * @param notificationCls Options for chat notifications.
884
+ * @param popper Options for the underlying popper element.
885
+ */
886
+ chat?: {
887
+ notificationCls?: PositionStyle;
888
+ popper?: PopperStyle;
889
+ };
890
+ /**
891
+ * Customization options for the meeting info panel.
892
+ * @param popper Options for the underlying popper element.
893
+ */
894
+ meeting?: {
895
+ popper?: PopperStyle;
896
+ };
897
+ /**
898
+ * @param activeApps Customization options for the active apps notifier popper position.
899
+ */
900
+ activeApps?: {
901
+ popper?: PopperStyle;
902
+ };
903
+ /**
904
+ * Customization options for the video or suspension view.
905
+ */
906
+ video?: VideoOptions;
907
+ /**
908
+ * Customization options for screen sharing. When sharing a Chromium browser tab, users can transmit both audio playing in the tab and from their microphone.
909
+ * When sharing using a non-Chromium browser, users can only share their window or entire browser and no screen audio, but they can use their microphone audio.
910
+ */
911
+ sharing?: {
912
+ /**
913
+ * Start-screen-share options
914
+ */
915
+ options?: {
916
+ /**
917
+ * Show (default, false) or hide (true) the "Share tab audio" checkbox when sharing a Chrome tab
918
+ */
919
+ hideShareAudioOption?: boolean;
920
+ };
921
+ };
922
+ };
923
+ /**
924
+ * Maximum participants displayed per screen in gallery view, up to 25.
925
+ */
926
+ maximumVideosInGalleryView?: number;
927
+ /**
928
+ * patchJsMedia: Optional. Default: false.
929
+ * Set to true to automatically apply the latest media dependency fix for the current Web Meeting SDK version.
930
+ * Note that you will still need to manually upgrade to major and minor version releases.
931
+ */
932
+ patchJsMedia?: boolean;
933
+ }
934
+
935
+ export interface BoRoomAttendee {
936
+ /**
937
+ * User ID.
938
+ */
939
+ userId: number;
940
+ /**
941
+ * User's display name.
942
+ */
943
+ displayName: string;
944
+ /**
945
+ * User's avatar.
946
+ */
947
+ avatar: string;
948
+ /**
949
+ * Whether the user is in the breakout room or not.
950
+ */
951
+ isInRoom: boolean;
952
+ userGuid: string;
953
+ }
954
+ export interface Room {
955
+ /**
956
+ * Room ID.
957
+ */
958
+ roomId: string;
959
+ /**
960
+ * Room name.
961
+ */
962
+ name: string;
963
+ /**
964
+ * Participants in the room.
965
+ */
966
+ attendeeList: Array<BoRoomAttendee>;
967
+ }
968
+
969
+ export interface RoomOption {
970
+ /**
971
+ * Whether to automatically join the room when the participant is assigned to a room or not.
972
+ */
973
+ isAutoJoinRoom?: boolean;
974
+ /**
975
+ * Whether or not to allow participants in the room to return to the main session.
976
+ */
977
+ isBackToMainSessionEnabled?: boolean;
978
+ /**
979
+ * Whether or not to set a timer for the breakout room.
980
+ */
981
+ isTimerEnabled?: boolean;
982
+ /**
983
+ * The duration of the timer.
984
+ */
985
+ timerDuration?: number;
986
+ /**
987
+ * Whether or not to automatically return to the main session when time is up.
988
+ */
989
+ isTimerAutoEnabled?: boolean;
990
+ /**
991
+ * When the breakout room is closing, the buffer time to give the user to leave the room.
992
+ */
993
+ waitSeconds?: number;
994
+ }
995
+
996
+ export enum BreakoutRoomStatus {
997
+ /**
998
+ * Room is not open.
999
+ */
1000
+ NotStarted = 1,
1001
+ /**
1002
+ * Room is open.
1003
+ */
1004
+ InProgress = 2,
1005
+ /**
1006
+ * Room is closing. There may be a closing countdown.
1007
+ */
1008
+ Closing = 3,
1009
+ /**
1010
+ * Room is closed.
1011
+ */
1012
+ Closed = 4
1013
+ }
1014
+
1015
+ export enum BreakoutRoomAttendeeStatus {
1016
+ /**
1017
+ * Unassigned.
1018
+ */
1019
+ Initial = 'initial',
1020
+ /**
1021
+ * Assigned but not in room.
1022
+ */
1023
+ Invited = 'invited',
1024
+ /**
1025
+ * Joining the room.
1026
+ */
1027
+ Joining = 'joining',
1028
+ /**
1029
+ * In the room.
1030
+ */
1031
+ InRoom = 'in room',
1032
+ /**
1033
+ * Leaving the room.
1034
+ */
1035
+ Leaving = 'leaving',
1036
+ /**
1037
+ * In the main session.
1038
+ */
1039
+ MainSession = 'main session'
1040
+ }
1041
+
1042
+ export declare function event_audio_statistic_data_change(payload: {
1043
+ data: {
1044
+ avg_loss: number;
1045
+ encoding: boolean;
1046
+ jitter: number;
1047
+ max_loss: number;
1048
+ rtt: number;
1049
+ sample_rate: number;
1050
+ };
1051
+ type: string;
1052
+ }): void;
1053
+ /**
1054
+ * Occurs when the video statistics data is changed; decode (received).
1055
+ * @param payload The event detail.
1056
+ * - `data`
1057
+ * - `encoding`: If encoding is true, the data is encoding video data statistics.
1058
+ * - `avg_loss`: The video's average package loss.
1059
+ * - `jitter`: The video's jitter.
1060
+ * - `max_loss`: The video's maximum package loss.
1061
+ * - `rtt`: The video's round trip time.
1062
+ * - `sample_rate`: The video's sample rate.
1063
+ * - `width`: The video's width.
1064
+ * - `height`: The video's height.
1065
+ * - `fps`: The video's frames per second (fps).
1066
+ * - `type` : string VIDEO_QOS_DATA.
1067
+ *
1068
+ * ```javascript
1069
+ * client.on('video_statistic_data_change', (payload) => {
1070
+ * console.log('emit', payload);
1071
+ * });
1072
+ * ```
1073
+ * @event
1074
+ */
1075
+
1076
+ export declare function event_video_statistic_data_change(payload: {
1077
+ data: {
1078
+ avg_loss: number;
1079
+ encoding: boolean;
1080
+ jitter: number;
1081
+ max_loss: number;
1082
+ rtt: number;
1083
+ sample_rate: number;
1084
+ width: number;
1085
+ height: number;
1086
+ fps: number;
1087
+ };
1088
+ type: string;
1089
+ }): void;
1090
+ /**
1091
+ * Occurs when the share statistics data is changed during decoding (received) or encoding (sent).
1092
+ * @param payload The event detail.
1093
+ * - `data`
1094
+ * - `encoding`: If `encoding` is true, the following metrics stand for the Send data statistics, otherwise, it stands for the Receive data statistics.
1095
+ * - `avg_loss`: The share video's average package loss.
1096
+ * - `fps`: The share video's frames per second (FPS).
1097
+ * - `height`: The share video's height.
1098
+ * - `jitter`: The share video's jitter.
1099
+ * - `max_loss`: The share video's maximum package loss.
1100
+ * - `rtt`: The share video's round trip time.
1101
+ * - `width`: The share video's width.
1102
+ * - `type` : string VIDEOSHARE_QOS_DATA.
1103
+ *
1104
+ * ```javascript
1105
+ * client.on('share_statistic_data_change', (payload) => {
1106
+ * console.log('emit', payload);
1107
+ * });
1108
+ * ```
1109
+ * @event
1110
+ */
1111
+ export declare function event_share_statistic_data_change(payload: {
1112
+ data: {
1113
+ encoding: boolean;
1114
+ avg_loss: number;
1115
+ fps: number;
1116
+ height: number;
1117
+ jitter: number;
1118
+ max_loss: number;
1119
+ rtt: number;
1120
+ width: number;
1121
+ };
1122
+ type: string;
1123
+ }): void;
1124
+
1125
+ export declare function event_caption_message(payload: {
1126
+ /**
1127
+ * Message ID.
1128
+ */
1129
+ msgId: string;
1130
+ /**
1131
+ * User sending the message.
1132
+ */
1133
+ userId: number;
1134
+ /**
1135
+ * Display name.
1136
+ */
1137
+ displayName: string;
1138
+ /**
1139
+ * Avatar.
1140
+ */
1141
+ avatar?: string;
1142
+ /**
1143
+ * Text content.
1144
+ */
1145
+ text: string;
1146
+ /**
1147
+ * Source of the live transcription message.
1148
+ */
1149
+ source: LiveTranscriptionMessageSource;
1150
+ /**
1151
+ * Language code of the live translation.
1152
+ */
1153
+ language: LiveTranscriptionLanguageCode;
1154
+ /**
1155
+ * Timestamp.
1156
+ */
1157
+ timestamp: number;
1158
+ /**
1159
+ * Whether the sentence is done.
1160
+ */
1161
+ done?: boolean;
1162
+ }): void;
1163
+
1164
+ export declare function event_recording_change(payload: RecordingStatus | RecordingStatusValue): void;
1165
+
1166
+ export declare function event_local_recording_change(payload: { userId: number; bLocalRecord: boolean }): void;
1167
+
1168
+ export declare function event_user_added(payload: ParticipantPropertiesPayload): void;
1169
+
1170
+ export declare function event_user_removed(payload: ParticipantPropertiesPayload): void;
1171
+
1172
+ export declare function event_user_updated(payload: ParticipantPropertiesPayload): void;
1173
+
1174
+ export declare function event_peer_share_state_change(payload: { userId: number; action: string }): void;
1175
+ export declare function event_audio_active_speaker(payload: Array<ActiveSpeaker>): void;
1176
+ export declare function event_room_state_change(payload: { status: BreakoutRoomStatus }): void;
1177
+ /**
1178
+ * Occurs when network quality changes.
1179
+ * The network quality reflects the video quality. The data will broadcast to all users only when the user starts video.
1180
+ */
1181
+ export declare function event_network_quality_change(payload: {
1182
+ /**
1183
+ * Network quality level.
1184
+ * Values can be integers from 0 to 5.
1185
+ * Poor: 0, 1
1186
+ * Normal: 2
1187
+ * Good: 3, 4, 5
1188
+ */
1189
+ level: number;
1190
+ /**
1191
+ * Whether the network level is for uplink or downlink.
1192
+ * Values can only be 'uplink' or 'downlink'.
1193
+ */
1194
+ type: string;
1195
+ /**
1196
+ * User ID.
1197
+ */
1198
+ userId: number;
1199
+ }): void;
1200
+ export declare namespace EmbeddedClient {
1201
+ /**
1202
+ * Initializes the Meeting SDK for web component view client.
1203
+ * @param args Init options.
1204
+ */
1205
+ function init(args: InitOptions): ExecutedResult;
1206
+ /**
1207
+ * Joins a meeting and renders the client.
1208
+ * @param args Join options.
1209
+ */
1210
+ function join(args: JoinOptions): ExecutedResult;
1211
+ /**
1212
+ * Gets the current user's information.
1213
+ */
1214
+ function getCurrentUser(): Participant | null;
1215
+ /**
1216
+ * Gets the current meeting's information.
1217
+ */
1218
+ function getCurrentMeetingInfo(): MeetingInfo;
1219
+ /**
1220
+ * Gets the list of participants.
1221
+ */
1222
+ function getAttendeeslist(): Participant[];
1223
+ /**
1224
+ * Stops the audio.
1225
+ * Only works if the audio flag is `true` in the media constraints.
1226
+ *
1227
+ * For version 2.1.1 and higher.
1228
+ * @returns Executed promise.
1229
+ */
1230
+ function stopAudio(): ExecutedResult;
1231
+ /**
1232
+ * Toggles mute.
1233
+ * @param mute True to mute, false to unmute.
1234
+ * @param userId User to toggle mute for.
1235
+ */
1236
+ function mute(mute: boolean, userId?: Number): ExecutedResult;
1237
+ /**
1238
+ * Mutes all participants.
1239
+ * @param muteAll True to mute, false to unmute.
1240
+ */
1241
+ function muteAll(muteAll: boolean): ExecutedResult;
1242
+ /**
1243
+ * Renames participant.
1244
+ * @param newName New name.
1245
+ * @param userId User to rename.
1246
+ */
1247
+ function rename(newName: string, userId: number): ExecutedResult;
1248
+ /**
1249
+ * Admits a participant into the meeting from the waiting room.
1250
+ * @param userId User to admit.
1251
+ */
1252
+ function admit(userId: number): ExecutedResult;
1253
+ /**
1254
+ * Admits all participants into the meeting from the waiting room.
1255
+ */
1256
+ function admitAll(): ExecutedResult;
1257
+ /**
1258
+ * Expels a user from the meeting.
1259
+ * @param userId User to expel.
1260
+ */
1261
+ function expel(userId: number): ExecutedResult;
1262
+ /**
1263
+ * Starts, stops, or pauses cloud recording.
1264
+ * @param record
1265
+ */
1266
+ function record(record: 'start' | 'pause' | 'stop'): ExecutedResult;
1267
+ /**
1268
+ * Starts, stops, or pauses the media capture.
1269
+ * @param record
1270
+ */
1271
+ function mediaCapture(record: MediaCaptureStatus | MediaCaptureStatusValue): ExecutedResult;
1272
+ /**
1273
+ * Host can grant the media capture permission requested by mediaCapturePermission('request'). If the host doesn't respond to the request with 10 seconds after receiving it, it will be automatically denied.
1274
+ * Host can revoke the granted media capture permission.
1275
+ * Participants can request the media capture permission.
1276
+ * @param operation Operation type. Values can be `grant`, `revoke`, and `request`.
1277
+ * @param userId Grant or revoke the media capture permission to the user with `userId`. `userId` is only required for the `grant` and `revoke` operations.
1278
+ * @param mediaCapturePermission Media capture permission. Only required for the `grant` operation.
1279
+ */
1280
+ function mediaCapturePermission(
1281
+ operation: MediaCaptureOperationValue,
1282
+ userId?: number,
1283
+ mediaCapturePermission?: MediaCapturePermission | MediaCapturePermissionValue
1284
+ ): ExecutedResult;
1285
+ /**
1286
+ * Locks meeting.
1287
+ * @param lockMeeting True to lock, false to unlock.
1288
+ */
1289
+ function lockMeeting(lockMeeting: boolean): ExecutedResult;
1290
+ /**
1291
+ * Leaves the meeting. If leaving as a host, pass in the userId to assign as the new host.
1292
+ * @param userId User to assign as the new host (if leaving as a host).
1293
+ */
1294
+ function leaveMeeting(userId?: number): ExecutedResult;
1295
+ /**
1296
+ * Ends the meeting.
1297
+ */
1298
+ function endMeeting(): ExecutedResult;
1299
+ /**
1300
+ * Toggles if a user is on hold.
1301
+ * @param userId User to toggle hold status for.
1302
+ * @param hold True to put on hold, false to remove from hold.
1303
+ */
1304
+ function putOnHold(userId: number, hold: boolean): ExecutedResult;
1305
+ /**
1306
+ * Toggles if a webinar attendee can talk.
1307
+ * @param userId User to toggle the talking permission.
1308
+ * @param isAllow True to allow the attendee to talk, false to disable talking.
1309
+ */
1310
+ function allowAttendeeToTalk(userId: number, isAllow: boolean): ExecutedResult;
1311
+ /**
1312
+ * Subscribes to the statistic quality of service (QoS) data.
1313
+ * @param args.audio If true, subscribe to the audio QoS.
1314
+ * @param args.video If true, subscribe to the video QoS.
1315
+ * @param args.share If true, subscribe to the share QoS.
1316
+ */
1317
+ function subscribeStatisticData(args?: { audio: boolean; video: boolean; share: boolean }): ExecutedResult;
1318
+ /**
1319
+ * Unsubscribes to the statistic quality of service (QoS) data.
1320
+ * @param args.audio If true, unsubscribe to the audio QoS.
1321
+ * @param args.video If true, unsubscribe to the video QoS.
1322
+ * @param args.share If true, unsubscribe to the share QoS.
1323
+ */
1324
+ function unSubscribeStatisticData(args?: { audio: boolean; video: boolean; share: boolean }): ExecutedResult;
1325
+ /**
1326
+ * Sends private chat message to meeting participants. This API does not support sending chat messages in a webinar.
1327
+ * @param chatMessage the chat message to be sent, it cannot be undefined, null, or empty.
1328
+ * @param userId the message receiver's `userId`. If the `userId`'` is not provided, the message will be sent to everyone in the meeting.
1329
+ */
1330
+ function sendChat(chatMessage: string, userId?: number): Promise<ChatMessage | Error>;
1331
+ /**
1332
+ * Gets the current status of the virtual background setting.
1333
+ * @category VirtualBackground
1334
+ */
1335
+ function getVirtualBackgroundStatus(): { id: string; isVbOn: boolean; isLock: boolean; vbList: VbImageInfoType[] };
1336
+ /**
1337
+ * Checks if the device supports the virtual background feature.
1338
+ * @category VirtualBackground
1339
+ */
1340
+ function isSupportVirtualBackground(): Boolean;
1341
+ /**
1342
+ * Locks the current virtual background image.
1343
+ * @param isLock true to lock the current virtual background image, false to unlock.
1344
+ * @category VirtualBackground
1345
+ */
1346
+ function lockVirtualBackground(isLock: boolean): ExecutedResult;
1347
+ /**
1348
+ * Updates the virtual background (VB) image options.
1349
+ * Cannot update the VB image list with the VB settings tab open.
1350
+ * Cannot update the VB image if the user selected 'blur' or VB image.
1351
+ * 'id' attribute of the image in the list must be unique and cannot be 'blur'.
1352
+ * 'id', 'fileName', 'displayName', 'url' are all required for each image of the list.
1353
+ * @param vbImageList the image list for VB settings.
1354
+ * @category VirtualBackground
1355
+ */
1356
+ function updateVirtualBackgroundList(vbImageList: VbImageInfoType[]): ExecutedResult;
1357
+ /**
1358
+ * Sets the virtual background (VB) image by image ID.
1359
+ * You cannot remove the VB if a VB image has been selected by a user using the UI or if it has been already set by this API.
1360
+ * You cannot set a new VB image if the VB image is locked.
1361
+ * The image with vbImageId must exist in the current VB image list.
1362
+ * @param vbImageId: the ID of the in the image list for the target VB image, '' for no VB and 'blur' for the blur VB.
1363
+ * @category VirtualBackground
1364
+ */
1365
+ function setVirtualBackground(vbImageId: string): ExecutedResult;
1366
+ /**
1367
+ * Returns true if the current user is a co-host, false otherwise.
1368
+ */
1369
+ function isCoHost(): boolean;
1370
+ /**
1371
+ * Returns true if the current user is the host, false otherwise.
1372
+ */
1373
+ function isHost(): boolean;
1374
+ /**
1375
+ * Returns true if the current user is the original meeting host, false otherwise.
1376
+ */
1377
+ function isOriginHost(): boolean;
1378
+ /**
1379
+ * Makes the user with the corresponding user ID into a co-host.
1380
+ * @param userId A valid user ID in the current meeting.
1381
+ */
1382
+ function makeCoHost(userId: number): ExecutedResult;
1383
+ /**
1384
+ * Makes the user with the corresponding user ID into the host.
1385
+ * @param userId A valid user ID in the current meeting.
1386
+ */
1387
+ function makeHost(userId: number): ExecutedResult;
1388
+ /**
1389
+ * Restores the host status to the current user if the request is valid.
1390
+ */
1391
+ function reclaimHost(): ExecutedResult;
1392
+ /**
1393
+ * Allows user to claim the host status using the host key.
1394
+ * Only successful in meetings with no host.
1395
+ * @param hostKey The host key.
1396
+ */
1397
+ function claimHostWithHostKey(hostKey: string): ExecutedResult;
1398
+ /**
1399
+ * Removes the co-host status from the corresponding user.
1400
+ * @param userId A valid user ID of a co-host in the current meeting.
1401
+ */
1402
+ function revokeCoHost(userId: number): ExecutedResult;
1403
+ /**
1404
+ * Pins the corresponding user.
1405
+ * @param userId A valid user ID in the current meeting.
1406
+ */
1407
+ function addPin(userId: number): ExecutedResult;
1408
+ /**
1409
+ * Removes all pinned users.
1410
+ */
1411
+ function removeAllPins(): ExecutedResult;
1412
+ /**
1413
+ * Gets the pinned userId list.
1414
+ */
1415
+ function getPinList(): number[];
1416
+ /**
1417
+ * Gets the current translation map for the given language.
1418
+ * @param lng The target language.
1419
+ */
1420
+ function getLanguageTranslation(lng: LanguageOptionType): ExecutedResult;
1421
+ /**
1422
+ * Updates the translations for the given language.
1423
+ * For example:
1424
+ * ```javascript
1425
+ * updateLanguageTranslation("en-US", {
1426
+ * key1: value1,
1427
+ * key2: value2
1428
+ * })
1429
+ * ```
1430
+ * @param lng The target language.
1431
+ * @param userLangDict The new translation mapping.
1432
+ */
1433
+ function updateLanguageTranslation(lng: LanguageOptionType, userLangDict: Object): ExecutedResult;
1434
+ /**
1435
+ * Updates video attributes and induces a re-render with the respective updates.
1436
+ * @param videoOptions Options to customize video
1437
+ */
1438
+ function updateVideoOptions(videoOptions: VideoOptions): void;
1439
+ /**
1440
+ * Host assigns an unassigned participant to a room.
1441
+ * @param userId User ID
1442
+ * @param targetRoomId Room ID
1443
+ */
1444
+ function assignUserToRoom(userId: number, targetRoomId: string): ExecutedResult;
1445
+ /**
1446
+ * Host can broadcast content in the main session and all rooms.
1447
+ * @param content Content of the broadcast.
1448
+ */
1449
+ function broadcast(content: string): ExecutedResult;
1450
+ /**
1451
+ * Host closes the room.
1452
+ */
1453
+ function closeAllBreakoutRooms(): ExecutedResult;
1454
+ /**
1455
+ * Gets the current room.
1456
+ */
1457
+ function getCurrentBreakoutRoom(): {};
1458
+ /**
1459
+ * If you are the host, gets all the rooms.
1460
+ * If you are the participant, gets the assigned room.
1461
+ */
1462
+ function getBreakoutRoomList(): Room[];
1463
+ /**
1464
+ * Gets room options.
1465
+ */
1466
+ function getBreakoutRoomOptions(): RoomOption;
1467
+ /**
1468
+ * Gets the status of the room.
1469
+ */
1470
+ function getBreakoutRoomStatus(): BreakoutRoomStatus;
1471
+ /**
1472
+ * Gets the room status of the attendee.
1473
+ */
1474
+ function getUserStatus(): BreakoutRoomAttendeeStatus;
1475
+ /**
1476
+ * Joins a breakout room if there is no `roomId` added.
1477
+ * - Join only after the room is open, if there is a `roomId`
1478
+ * @param roomId The ID of the room to join, when open.
1479
+ */
1480
+ function joinBreakoutRoom(roomId: string): ExecutedResult;
1481
+ /**
1482
+ * Leaves the room
1483
+ * - If the participant is not allowed to leave the room, they cannot return to the main session.
1484
+ */
1485
+ function leaveBreakoutRoom(): ExecutedResult;
1486
+ /**
1487
+ * Host moves a participant in the room to the specified room.
1488
+ * @param userId The user ID
1489
+ * @param targetRoomId The room ID to move them to.
1490
+ */
1491
+ function moveUserToBreakoutRoom(userId: number, targetRoomId: string): ExecutedResult;
1492
+ /**
1493
+ * Opens the created rooms
1494
+ * @param rooms Room list Required; Must include `roomId` and `roomName`. Room name can be renamed.
1495
+ * @param options Room option; Default options = {
1496
+ isAutoJoinRoom: false,
1497
+ isBackToMainSessionEnabled: true,
1498
+ isTimerEnabled: false,
1499
+ timerDuration: 1800,
1500
+ isTimerAutoEnabled: false,
1501
+ waitSeconds: 60,
1502
+ }
1503
+ */
1504
+ function openBreakoutRooms(rooms: Room[], options?: RoomOption): ExecutedResult;
1505
+ /**
1506
+ * Listens for the events and handles them.
1507
+ * For example:
1508
+ * ```javascript
1509
+ * on("connection-change", (payload) => {
1510
+ * if (payload.state === 'Closed) {
1511
+ * console.log("Meeting ended")
1512
+ * }
1513
+ * })
1514
+ * ```
1515
+ * @param event Event name (for meeting end event, set the event to "connection-change").
1516
+ * @param callback Event handler (for meeting end event, the payload of the callback is payload.state === 'Closed').
1517
+ */
1518
+ function on(event: 'connection-change', callback: (payload: any) => void): void;
1519
+ function on(event: 'audio-statistic-data-change', callback: typeof event_audio_statistic_data_change): void;
1520
+ function on(event: 'video-statistic-data-change', callback: typeof event_video_statistic_data_change): void;
1521
+ function on(event: 'share-statistic-data-change', callback: typeof event_share_statistic_data_change): void;
1522
+ function on(event: 'caption-message', callback: typeof event_caption_message): void;
1523
+ function on(event: 'recording-change', callback: typeof event_recording_change): void;
1524
+ function on(event: 'local-recording-change', callback: typeof event_local_recording_change): void;
1525
+ function on(event: 'user-added', callback: typeof event_user_added): void;
1526
+ function on(event: 'user-removed', callback: typeof event_user_removed): void;
1527
+ function on(event: 'user-updated', callback: typeof event_user_updated): void;
1528
+ function on(event: 'peer-share-state-change', callback: typeof event_peer_share_state_change): void;
1529
+ function on(event: 'active-speaker', callback: typeof event_audio_active_speaker): void;
1530
+ function on(event: 'room-state-change', callback: typeof event_room_state_change): void;
1531
+ function on(event: 'main-session-user-updated', callback: (payload: {}) => void): void;
1532
+ function on(event: 'broadcast-message', callback: (payload: { message: string }) => void): void;
1533
+ function on(event: 'network-quality-change', callback: typeof event_network_quality_change): void;
1534
+ function on(
1535
+ event: 'media-capture-status-change',
1536
+ callback: (payload: { userId: number; bLocalRecord: boolean }) => void
1537
+ ): void;
1538
+ function on(
1539
+ event: 'media-capture-permission-change',
1540
+ callback: (payload: { type: string; value: string; canRecord?: boolean }) => void
1541
+ ): void;
1542
+ /**
1543
+ * Removes the event handler. Must be used with on() in pairs.
1544
+ * @param event event name. Same as 'on' event name list.
1545
+ * @param callback event handler.
1546
+ */
1547
+ function off(event: string, callback: (payload: any) => void): void;
1548
+ /**
1549
+ * Checks the compatibility of the current browser.
1550
+ * Use this method before calling {@link init} to check if the SDK is compatible with the web browser.
1551
+ *
1552
+ * Version >= 2.1.1
1553
+ * @returns A `MediaCompatiblity` object. The object has following properties:
1554
+ * - `audio`: boolean, whether the audio is compatible with the current web browser.
1555
+ * - `video`: boolean, whether the video is compatible with the current web browser.
1556
+ * - `screen`: boolean, whether the screen is compatible with the current web browser.
1557
+ */
1558
+ function checkSystemRequirements(): MediaCompatiblity;
1559
+ }
1560
+
1561
+ export declare namespace ZoomMtgEmbedded {
1562
+ const VERSION: string;
1563
+ function createClient(): typeof EmbeddedClient;
1564
+ function destroyClient(): void;
1565
+ }
1566
+
1567
+ export default ZoomMtgEmbedded;