@webex/plugin-meetings 3.8.1 → 3.9.0-webinar5k.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.
Files changed (296) hide show
  1. package/README.md +26 -13
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/constants.js +16 -3
  5. package/dist/constants.js.map +1 -1
  6. package/dist/controls-options-manager/enums.js +1 -0
  7. package/dist/controls-options-manager/enums.js.map +1 -1
  8. package/dist/controls-options-manager/types.js.map +1 -1
  9. package/dist/controls-options-manager/util.js +26 -0
  10. package/dist/controls-options-manager/util.js.map +1 -1
  11. package/dist/hashTree/constants.js +23 -0
  12. package/dist/hashTree/constants.js.map +1 -0
  13. package/dist/hashTree/hashTree.js +516 -0
  14. package/dist/hashTree/hashTree.js.map +1 -0
  15. package/dist/hashTree/hashTreeParser.js +521 -0
  16. package/dist/hashTree/hashTreeParser.js.map +1 -0
  17. package/dist/interpretation/index.js +1 -1
  18. package/dist/interpretation/siLanguage.js +1 -1
  19. package/dist/locus-info/controlsUtils.js +11 -3
  20. package/dist/locus-info/controlsUtils.js.map +1 -1
  21. package/dist/locus-info/index.js +331 -59
  22. package/dist/locus-info/index.js.map +1 -1
  23. package/dist/media/index.js +2 -2
  24. package/dist/media/index.js.map +1 -1
  25. package/dist/meeting/brbState.js +17 -14
  26. package/dist/meeting/brbState.js.map +1 -1
  27. package/dist/meeting/in-meeting-actions.js +5 -1
  28. package/dist/meeting/in-meeting-actions.js.map +1 -1
  29. package/dist/meeting/index.js +264 -125
  30. package/dist/meeting/index.js.map +1 -1
  31. package/dist/meeting/muteState.js +2 -5
  32. package/dist/meeting/muteState.js.map +1 -1
  33. package/dist/meeting/request.js +19 -0
  34. package/dist/meeting/request.js.map +1 -1
  35. package/dist/meeting/request.type.js.map +1 -1
  36. package/dist/meeting/util.js +8 -11
  37. package/dist/meeting/util.js.map +1 -1
  38. package/dist/meetings/index.js +6 -2
  39. package/dist/meetings/index.js.map +1 -1
  40. package/dist/member/types.js.map +1 -1
  41. package/dist/members/collection.js +13 -0
  42. package/dist/members/collection.js.map +1 -1
  43. package/dist/members/index.js +44 -23
  44. package/dist/members/index.js.map +1 -1
  45. package/dist/members/request.js +3 -3
  46. package/dist/members/request.js.map +1 -1
  47. package/dist/members/util.js +18 -6
  48. package/dist/members/util.js.map +1 -1
  49. package/dist/metrics/constants.js +1 -0
  50. package/dist/metrics/constants.js.map +1 -1
  51. package/dist/multistream/sendSlotManager.js +32 -2
  52. package/dist/multistream/sendSlotManager.js.map +1 -1
  53. package/dist/reachability/index.js +5 -10
  54. package/dist/reachability/index.js.map +1 -1
  55. package/dist/types/constants.d.ts +12 -0
  56. package/dist/types/controls-options-manager/enums.d.ts +2 -1
  57. package/dist/types/controls-options-manager/types.d.ts +4 -1
  58. package/dist/types/hashTree/constants.d.ts +8 -0
  59. package/dist/types/hashTree/hashTree.d.ts +128 -0
  60. package/dist/types/hashTree/hashTreeParser.d.ts +152 -0
  61. package/dist/types/locus-info/index.d.ts +93 -3
  62. package/dist/types/meeting/brbState.d.ts +0 -1
  63. package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
  64. package/dist/types/meeting/index.d.ts +36 -3
  65. package/dist/types/meeting/request.d.ts +9 -1
  66. package/dist/types/meeting/request.type.d.ts +74 -0
  67. package/dist/types/meeting/util.d.ts +3 -3
  68. package/dist/types/member/types.d.ts +1 -0
  69. package/dist/types/members/collection.d.ts +6 -0
  70. package/dist/types/members/index.d.ts +15 -3
  71. package/dist/types/members/request.d.ts +1 -1
  72. package/dist/types/members/util.d.ts +5 -2
  73. package/dist/types/metrics/constants.d.ts +1 -0
  74. package/dist/types/multistream/sendSlotManager.d.ts +16 -0
  75. package/dist/types/reachability/index.d.ts +2 -2
  76. package/dist/webinar/index.js +1 -1
  77. package/package.json +26 -25
  78. package/src/constants.ts +16 -0
  79. package/src/controls-options-manager/enums.ts +1 -0
  80. package/src/controls-options-manager/types.ts +6 -1
  81. package/src/controls-options-manager/util.ts +31 -0
  82. package/src/hashTree/constants.ts +12 -0
  83. package/src/hashTree/hashTree.ts +460 -0
  84. package/src/hashTree/hashTreeParser.ts +556 -0
  85. package/src/locus-info/controlsUtils.ts +15 -0
  86. package/src/locus-info/index.ts +434 -58
  87. package/src/media/index.ts +2 -2
  88. package/src/meeting/brbState.ts +13 -9
  89. package/src/meeting/in-meeting-actions.ts +8 -0
  90. package/src/meeting/index.ts +193 -39
  91. package/src/meeting/muteState.ts +2 -6
  92. package/src/meeting/request.ts +16 -0
  93. package/src/meeting/request.type.ts +64 -0
  94. package/src/meeting/util.ts +17 -20
  95. package/src/meetings/index.ts +17 -3
  96. package/src/member/types.ts +1 -0
  97. package/src/members/collection.ts +11 -0
  98. package/src/members/index.ts +33 -7
  99. package/src/members/request.ts +2 -2
  100. package/src/members/util.ts +14 -3
  101. package/src/metrics/constants.ts +1 -0
  102. package/src/multistream/sendSlotManager.ts +34 -2
  103. package/src/reachability/index.ts +5 -13
  104. package/test/unit/spec/controls-options-manager/util.js +58 -0
  105. package/test/unit/spec/hashTree/hashTree.ts +394 -0
  106. package/test/unit/spec/hashTree/hashTreeParser.ts +156 -0
  107. package/test/unit/spec/locus-info/controlsUtils.js +52 -0
  108. package/test/unit/spec/locus-info/index.js +547 -54
  109. package/test/unit/spec/media/index.ts +107 -0
  110. package/test/unit/spec/meeting/brbState.ts +23 -4
  111. package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
  112. package/test/unit/spec/meeting/index.js +647 -46
  113. package/test/unit/spec/meeting/request.js +71 -0
  114. package/test/unit/spec/members/index.js +33 -10
  115. package/test/unit/spec/members/request.js +2 -2
  116. package/test/unit/spec/members/utils.js +27 -7
  117. package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
  118. package/test/unit/spec/reachability/index.ts +2 -6
  119. package/dist/annotation/annotation.types.d.ts +0 -42
  120. package/dist/annotation/constants.d.ts +0 -31
  121. package/dist/annotation/index.d.ts +0 -117
  122. package/dist/breakouts/breakout.d.ts +0 -8
  123. package/dist/breakouts/collection.d.ts +0 -5
  124. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  125. package/dist/breakouts/events.d.ts +0 -8
  126. package/dist/breakouts/index.d.ts +0 -5
  127. package/dist/breakouts/request.d.ts +0 -22
  128. package/dist/breakouts/utils.d.ts +0 -15
  129. package/dist/common/browser-detection.d.ts +0 -9
  130. package/dist/common/collection.d.ts +0 -48
  131. package/dist/common/config.d.ts +0 -2
  132. package/dist/common/errors/captcha-error.d.ts +0 -15
  133. package/dist/common/errors/intent-to-join.d.ts +0 -16
  134. package/dist/common/errors/join-meeting.d.ts +0 -17
  135. package/dist/common/errors/media.d.ts +0 -15
  136. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  137. package/dist/common/errors/parameter.d.ts +0 -15
  138. package/dist/common/errors/password-error.d.ts +0 -15
  139. package/dist/common/errors/permission.d.ts +0 -14
  140. package/dist/common/errors/reclaim-host-role-error.d.ts +0 -60
  141. package/dist/common/errors/reclaim-host-role-error.js +0 -158
  142. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  143. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  144. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  145. package/dist/common/errors/reconnection-in-progress.js +0 -35
  146. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  147. package/dist/common/errors/reconnection.d.ts +0 -15
  148. package/dist/common/errors/stats.d.ts +0 -15
  149. package/dist/common/errors/webex-errors.d.ts +0 -81
  150. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  151. package/dist/common/events/events-scope.d.ts +0 -17
  152. package/dist/common/events/events.d.ts +0 -12
  153. package/dist/common/events/trigger-proxy.d.ts +0 -2
  154. package/dist/common/events/util.d.ts +0 -2
  155. package/dist/common/logs/logger-config.d.ts +0 -2
  156. package/dist/common/logs/logger-proxy.d.ts +0 -2
  157. package/dist/common/logs/request.d.ts +0 -34
  158. package/dist/common/queue.d.ts +0 -32
  159. package/dist/config.d.ts +0 -73
  160. package/dist/constants.d.ts +0 -952
  161. package/dist/controls-options-manager/constants.d.ts +0 -4
  162. package/dist/controls-options-manager/enums.d.ts +0 -5
  163. package/dist/controls-options-manager/index.d.ts +0 -120
  164. package/dist/controls-options-manager/types.d.ts +0 -43
  165. package/dist/controls-options-manager/util.d.ts +0 -7
  166. package/dist/index.d.ts +0 -4
  167. package/dist/interceptors/index.d.ts +0 -2
  168. package/dist/interceptors/locusRetry.d.ts +0 -27
  169. package/dist/interpretation/collection.d.ts +0 -5
  170. package/dist/interpretation/index.d.ts +0 -5
  171. package/dist/interpretation/siLanguage.d.ts +0 -5
  172. package/dist/locus-info/controlsUtils.d.ts +0 -2
  173. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  174. package/dist/locus-info/fullState.d.ts +0 -2
  175. package/dist/locus-info/hostUtils.d.ts +0 -2
  176. package/dist/locus-info/index.d.ts +0 -269
  177. package/dist/locus-info/infoUtils.d.ts +0 -2
  178. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  179. package/dist/locus-info/parser.d.ts +0 -212
  180. package/dist/locus-info/selfUtils.d.ts +0 -2
  181. package/dist/media/index.d.ts +0 -32
  182. package/dist/media/properties.d.ts +0 -108
  183. package/dist/media/util.d.ts +0 -2
  184. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  185. package/dist/mediaQualityMetrics/config.js +0 -513
  186. package/dist/mediaQualityMetrics/config.js.map +0 -1
  187. package/dist/meeting/effectsState.d.ts +0 -42
  188. package/dist/meeting/effectsState.js +0 -260
  189. package/dist/meeting/effectsState.js.map +0 -1
  190. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  191. package/dist/meeting/index.d.ts +0 -1622
  192. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  193. package/dist/meeting/muteState.d.ts +0 -116
  194. package/dist/meeting/request.d.ts +0 -257
  195. package/dist/meeting/request.type.d.ts +0 -11
  196. package/dist/meeting/state.d.ts +0 -9
  197. package/dist/meeting/util.d.ts +0 -2
  198. package/dist/meeting/voicea-meeting.d.ts +0 -16
  199. package/dist/meeting-info/collection.d.ts +0 -20
  200. package/dist/meeting-info/index.d.ts +0 -57
  201. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  202. package/dist/meeting-info/request.d.ts +0 -22
  203. package/dist/meeting-info/util.d.ts +0 -2
  204. package/dist/meeting-info/utilv2.d.ts +0 -2
  205. package/dist/meetings/collection.d.ts +0 -23
  206. package/dist/meetings/index.d.ts +0 -296
  207. package/dist/meetings/meetings.types.d.ts +0 -4
  208. package/dist/meetings/request.d.ts +0 -27
  209. package/dist/meetings/util.d.ts +0 -18
  210. package/dist/member/index.d.ts +0 -148
  211. package/dist/member/member.types.d.ts +0 -11
  212. package/dist/member/member.types.js +0 -18
  213. package/dist/member/member.types.js.map +0 -1
  214. package/dist/member/types.d.ts +0 -32
  215. package/dist/member/util.d.ts +0 -2
  216. package/dist/members/collection.d.ts +0 -24
  217. package/dist/members/index.d.ts +0 -308
  218. package/dist/members/request.d.ts +0 -58
  219. package/dist/members/types.d.ts +0 -25
  220. package/dist/members/util.d.ts +0 -2
  221. package/dist/metrics/config.d.ts +0 -169
  222. package/dist/metrics/config.js +0 -289
  223. package/dist/metrics/config.js.map +0 -1
  224. package/dist/metrics/constants.d.ts +0 -59
  225. package/dist/metrics/index.d.ts +0 -152
  226. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  227. package/dist/multistream/receiveSlot.d.ts +0 -68
  228. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  229. package/dist/multistream/remoteMedia.d.ts +0 -72
  230. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  231. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  232. package/dist/multistream/sendSlotManager.d.ts +0 -69
  233. package/dist/networkQualityMonitor/index.d.ts +0 -70
  234. package/dist/networkQualityMonitor/index.js +0 -226
  235. package/dist/networkQualityMonitor/index.js.map +0 -1
  236. package/dist/peer-connection-manager/index.d.ts +0 -6
  237. package/dist/peer-connection-manager/index.js +0 -671
  238. package/dist/peer-connection-manager/index.js.map +0 -1
  239. package/dist/peer-connection-manager/util.d.ts +0 -6
  240. package/dist/peer-connection-manager/util.js +0 -110
  241. package/dist/peer-connection-manager/util.js.map +0 -1
  242. package/dist/personal-meeting-room/index.d.ts +0 -47
  243. package/dist/personal-meeting-room/request.d.ts +0 -14
  244. package/dist/personal-meeting-room/util.d.ts +0 -2
  245. package/dist/reachability/clusterReachability.d.ts +0 -109
  246. package/dist/reachability/index.d.ts +0 -139
  247. package/dist/reachability/request.d.ts +0 -35
  248. package/dist/reachability/util.d.ts +0 -8
  249. package/dist/reactions/constants.d.ts +0 -3
  250. package/dist/reactions/reactions.d.ts +0 -4
  251. package/dist/reactions/reactions.type.d.ts +0 -32
  252. package/dist/reconnection-manager/index.d.ts +0 -112
  253. package/dist/recording-controller/enums.d.ts +0 -7
  254. package/dist/recording-controller/index.d.ts +0 -193
  255. package/dist/recording-controller/util.d.ts +0 -13
  256. package/dist/roap/collection.d.ts +0 -10
  257. package/dist/roap/collection.js +0 -63
  258. package/dist/roap/collection.js.map +0 -1
  259. package/dist/roap/handler.d.ts +0 -47
  260. package/dist/roap/handler.js +0 -279
  261. package/dist/roap/handler.js.map +0 -1
  262. package/dist/roap/index.d.ts +0 -116
  263. package/dist/roap/request.d.ts +0 -35
  264. package/dist/roap/state.d.ts +0 -9
  265. package/dist/roap/state.js +0 -127
  266. package/dist/roap/state.js.map +0 -1
  267. package/dist/roap/turnDiscovery.d.ts +0 -81
  268. package/dist/roap/util.d.ts +0 -2
  269. package/dist/roap/util.js +0 -76
  270. package/dist/roap/util.js.map +0 -1
  271. package/dist/rtcMetrics/constants.d.ts +0 -4
  272. package/dist/rtcMetrics/constants.js +0 -11
  273. package/dist/rtcMetrics/constants.js.map +0 -1
  274. package/dist/rtcMetrics/index.d.ts +0 -61
  275. package/dist/rtcMetrics/index.js +0 -197
  276. package/dist/rtcMetrics/index.js.map +0 -1
  277. package/dist/statsAnalyzer/global.d.ts +0 -118
  278. package/dist/statsAnalyzer/global.js +0 -127
  279. package/dist/statsAnalyzer/global.js.map +0 -1
  280. package/dist/statsAnalyzer/index.d.ts +0 -193
  281. package/dist/statsAnalyzer/index.js +0 -1019
  282. package/dist/statsAnalyzer/index.js.map +0 -1
  283. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  284. package/dist/statsAnalyzer/mqaUtil.js +0 -181
  285. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  286. package/dist/transcription/index.d.ts +0 -64
  287. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  288. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  289. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  290. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  291. package/dist/types/rtcMetrics/index.d.ts +0 -71
  292. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  293. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  294. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  295. package/dist/webinar/collection.d.ts +0 -16
  296. package/dist/webinar/index.d.ts +0 -5
@@ -1,1622 +0,0 @@
1
- /// <reference types="node" />
2
- import { StatelessWebexPlugin } from '@webex/webex-core';
3
- import { StatsAnalyzer } from '../statsAnalyzer';
4
- import NetworkQualityMonitor from '../networkQualityMonitor';
5
- import Roap from '../roap/index';
6
- import MediaProperties from '../media/properties';
7
- import ReconnectionManager from '../reconnection-manager';
8
- import MeetingRequest from './request';
9
- import Members from '../members/index';
10
- import Transcription from '../transcription';
11
- import { ReactionType, SkinToneType } from '../reactions/reactions.type';
12
- import InMeetingActions from './in-meeting-actions';
13
- import RecordingController from '../recording-controller';
14
- import ControlsOptionsManager from '../controls-options-manager';
15
- export declare const MEDIA_UPDATE_TYPE: {
16
- ALL: string;
17
- AUDIO: string;
18
- VIDEO: string;
19
- SHARE: string;
20
- };
21
- /**
22
- * MediaDirection
23
- * @typedef {Object} MediaDirection
24
- * @property {boolean} sendAudio
25
- * @property {boolean} receiveAudio
26
- * @property {boolean} sendVideo
27
- * @property {boolean} receiveVideo
28
- * @property {boolean} sendShare
29
- * @property {boolean} receiveShare
30
- * @property {boolean} isSharing
31
- */
32
- /**
33
- * AudioVideo
34
- * @typedef {Object} AudioVideo
35
- * @property {Object} audio
36
- * @property {String} audio.deviceId
37
- * @property {Object} video
38
- * @property {String} video.deviceId
39
- * @property {String} video.localVideoQuality // [240p, 360p, 480p, 720p, 1080p]
40
- */
41
- /**
42
- * SharePreferences
43
- * @typedef {Object} SharePreferences
44
- * @property {Object} [shareConstraints]
45
- * @property {Boolean} [highFrameRate]
46
- */
47
- /**
48
- * JoinOptions
49
- * @typedef {Object} JoinOptions
50
- * @property {String} [resourceId]
51
- * @property {String} [pin]
52
- * @property {Boolean} [moderator]
53
- * @property {String|Object} [meetingQuality]
54
- * @property {String} [meetingQuality.local]
55
- * @property {String} [meetingQuality.remote]
56
- * @property {Boolean} [rejoin]
57
- */
58
- /**
59
- * SendOptions
60
- * @typedef {Object} SendOptions
61
- * @property {Boolean} sendAudio
62
- * @property {Boolean} sendVideo
63
- * @property {Boolean} sendShare
64
- */
65
- /**
66
- * Recording
67
- * @typedef {Object} Recording
68
- * @property {Object} state
69
- * @property {String} modifiedBy
70
- */
71
- /**
72
- * Meeting State Change Event
73
- * Emitted when ever there is a meeting state change
74
- * @event meeting:stateChange
75
- * @instance
76
- * @type {Object}
77
- * @property {String} currentState current state of the meeting
78
- * @property {String} previousState previous state of the meeting
79
- * @memberof Meeting
80
- */
81
- /**
82
- * Media Ready Event
83
- * Emitted when a stream is ready to be rendered
84
- * @event media:ready
85
- * @instance
86
- * @type {Object}
87
- * @property {MediaStream} stream the media stream
88
- * @property {String} type what type of stream, remote, local
89
- * @memberof Meeting
90
- */
91
- /**
92
- * Media Stopped Event
93
- * Emitted when a stream has stopped sending
94
- * @event media:stopped
95
- * @instance
96
- * @type {Object}
97
- * @property {String} type what type of stream, remote, local
98
- * @memberof Meeting
99
- */
100
- /**
101
- * Meeting Ringing Event
102
- * Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
103
- * or sending out an incoming meeting
104
- * @event meeting:ringing
105
- * @instance
106
- * @type {Object}
107
- * @property {String} type // INCOMING or JOIN
108
- * @property {String} id
109
- * @memberof Meeting
110
- */
111
- /**
112
- * Meeting Ringing Stop Event
113
- * Emitted when this client should stop playing a ringing sound
114
- * @event meeting:ringingStop
115
- * @instance
116
- * @type {Object}
117
- * @property {Object} type
118
- * @property {Boolean} type.remoteAnswered
119
- * @property {Boolean} type.remoteDeclined
120
- * @property {String} id
121
- * @memberof Meeting
122
- */
123
- /**
124
- * Meeting Started Sharing Local Event
125
- * Emitted when this member starts sharing
126
- * @event meeting:startedSharingLocal
127
- * @instance
128
- * @type {Object}
129
- * @memberof Meeting
130
- */
131
- /**
132
- * Meeting Stopped Sharing Local Event
133
- * Emitted when this member stops sharing
134
- * @event meeting:stoppedSharingLocal
135
- * @instance
136
- * @type {Object}
137
- * @memberof Meeting
138
- */
139
- /**
140
- * Meeting Started Sharing Remote Event
141
- * Emitted when remote sharing starts
142
- * @event meeting:startedSharingRemote
143
- * @instance
144
- * @type {Object}
145
- * @property {Boolean} memberId id of the meeting member that started screen share
146
- * @memberof Meeting
147
- */
148
- /**
149
- * Meeting Stopped Sharing Remote Event
150
- * Emitted when remote screen sharing ends
151
- * @event meeting:stoppedSharingRemote
152
- * @instance
153
- * @type {Object}
154
- * @memberof Meeting
155
- */
156
- /**
157
- * Meeting Locked Event
158
- * Emitted when a meeting is locked
159
- * @event meeting:locked
160
- * @instance
161
- * @type {Object}
162
- * @property {Object} info
163
- * @memberof Meeting
164
- */
165
- /**
166
- * Meeting Unlocked Event
167
- * Emitted when a meeting is unlocked
168
- * @event meeting:unlocked
169
- * @instance
170
- * @type {Object}
171
- * @property {Object} info
172
- * @memberof Meeting
173
- */
174
- /**
175
- * Meeting Actions Update Event
176
- * Emitted when a user can take actions on a meeting such as lock, unlock, assign host
177
- * @event meeting:actionsUpdate
178
- * @instance
179
- * @type {Object}
180
- * @property {Boolean} canLock
181
- * @property {Boolean} canUnlock
182
- * @property {Boolean} canAssignHost
183
- * @memberof Meeting
184
- */
185
- /**
186
- * Meeting Unmuted By Others Event
187
- * Emitted when a member is unmuted by another member
188
- * @event meeting:self:unmutedByOthers
189
- * @instance
190
- * @type {Object}
191
- * @property {Object} payload
192
- * @memberof Meeting
193
- */
194
- /**
195
- * Meeting Muted By Others Event
196
- * Emitted when a member is muted by another member
197
- * @event meeting:self:mutedByOthers
198
- * @instance
199
- * @type {Object}
200
- * @property {Object} payload
201
- * @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
202
- * @memberof Meeting
203
- */
204
- /**
205
- * Meeting Muted By Others Event
206
- * Emitted when the host(moderator)/co-host requests a user to unmute
207
- * @event meeting:self:requestedToUnmute
208
- * @instance
209
- * @type {Object}
210
- * @property {Object} payload
211
- * @memberof Meeting
212
- */
213
- /**
214
- * Meeting Self Guest Admitted Event
215
- * Emitted when a joined user get admitted to the meeting by another member or host
216
- * @event meeting:self:guestAdmitted
217
- * @instance
218
- * @type {Object}
219
- * @property {Object} payload
220
- * @memberof Meeting
221
- */
222
- /**
223
- * Meeting Self Lobby Waiting Event
224
- * Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
225
- * @event meeting:self:lobbyWaiting
226
- * @instance
227
- * @type {Object}
228
- * @property {Object} reason Reason why user left the meeting
229
- * @memberof Meeting
230
- */
231
- /**
232
- * Meeting Self Left State
233
- * Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
234
- * @event meeting:self:left
235
- * @instance
236
- * @type {Object}
237
- * @property {Object} payload
238
- * @memberof Meeting
239
- */
240
- /**
241
- * Reconnection Starting Event
242
- * Emitted when reconnection of media to the active meeting was successful
243
- * @event meeting:reconnectionStarting
244
- * @instance
245
- * @memberof Meeting
246
- */
247
- /**
248
- * Reconnection Success Event
249
- * Emitted when reconnection of media to the active meeting was successful
250
- * @event meeting:reconnectionSuccess
251
- * @instance
252
- * @type {Object}
253
- * @property {Object} reconnect
254
- * @memberof Meeting
255
- */
256
- /**
257
- * Reconnection Failure Event
258
- * Emitted when reconnection of media to the active meeting was successful
259
- * @event meeting:reconnectionFailure
260
- * @instance
261
- * @type {Object}
262
- * @property {Error} error
263
- * @memberof Meeting
264
- */
265
- /**
266
- * Meeting network quality event
267
- * Emitted on each interval of retrieving stats Analyzer data
268
- * @event network:quality
269
- * @type {Object}
270
- * @property {string} mediaType {video|audio}
271
- * @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
272
- * @memberof Meeting
273
- */
274
- /**
275
- * @description Meeting is the crux of the plugin
276
- * @export
277
- * @class Meeting
278
- */
279
- export default class Meeting extends StatelessWebexPlugin {
280
- attrs: any;
281
- audio: any;
282
- conversationUrl: string;
283
- correlationId: string;
284
- destination: string;
285
- destinationType: string;
286
- deviceUrl: string;
287
- effects: any;
288
- hostId: string;
289
- id: string;
290
- locusUrl: string;
291
- mediaConnections: any[];
292
- meetingFiniteStateMachine: any;
293
- meetingInfo: object;
294
- meetingRequest: MeetingRequest;
295
- members: Members;
296
- options: object;
297
- orgId: string;
298
- owner: string;
299
- partner: any;
300
- policy: string;
301
- reconnectionManager: ReconnectionManager;
302
- resource: string;
303
- roap: Roap;
304
- roapSeq: number;
305
- sipUri: string;
306
- type: string;
307
- userId: string;
308
- video: any;
309
- callEvents: any[];
310
- deferJoin: Promise<any>;
311
- dialInDeviceStatus: string;
312
- dialInUrl: string;
313
- dialOutDeviceStatus: string;
314
- dialOutUrl: string;
315
- fetchMeetingInfoTimeoutId: NodeJS.Timeout;
316
- floorGrantPending: boolean;
317
- hasJoinedOnce: boolean;
318
- hasWebsocketConnected: boolean;
319
- inMeetingActions: InMeetingActions;
320
- isLocalShareLive: boolean;
321
- isSharing: boolean;
322
- keepAliveTimerId: NodeJS.Timeout;
323
- lastVideoLayoutInfo: any;
324
- locusInfo: any;
325
- mediaProperties: MediaProperties;
326
- meetingInfoFailureReason: string;
327
- networkQualityMonitor: NetworkQualityMonitor;
328
- networkStatus: string;
329
- passwordStatus: string;
330
- queuedMediaUpdates: any[];
331
- recording: any;
332
- recordingController: RecordingController;
333
- controlsOptionsManager: ControlsOptionsManager;
334
- requiredCaptcha: any;
335
- shareStatus: string;
336
- statsAnalyzer: StatsAnalyzer;
337
- transcription: Transcription;
338
- receiveTranscription: boolean;
339
- updateMediaConnections: (mediaConnections: any[]) => void;
340
- endCallInitiateJoinReq: any;
341
- endJoinReqResp: any;
342
- endLocalSDPGenRemoteSDPRecvDelay: any;
343
- joinedWith: any;
344
- locusId: any;
345
- startCallInitiateJoinReq: any;
346
- startJoinReqResp: any;
347
- startLocalSDPGenRemoteSDPRecvDelay: any;
348
- wirelessShare: any;
349
- guest: any;
350
- meetingJoinUrl: any;
351
- meetingNumber: any;
352
- meetingState: any;
353
- permissionToken: any;
354
- resourceId: any;
355
- resourceUrl: string;
356
- selfId: string;
357
- state: any;
358
- namespace: string;
359
- /**
360
- * @param {Object} attrs
361
- * @param {Object} options
362
- * @constructor
363
- * @memberof Meeting
364
- */
365
- constructor(attrs: any, options: object);
366
- /**
367
- * Fetches meeting information.
368
- * @param {Object} options
369
- * @param {String} [options.password] optional
370
- * @param {String} [options.captchaCode] optional
371
- * @public
372
- * @memberof Meeting
373
- * @returns {Promise}
374
- */
375
- fetchMeetingInfo({ password, captchaCode, }: {
376
- password?: string;
377
- captchaCode?: string;
378
- }): Promise<void>;
379
- /**
380
- * Checks if the supplied password/host key is correct. It returns a promise with information whether the
381
- * password and captcha code were correct or not.
382
- * @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
383
- * @param {String} captchaCode - can be undefined if captcha was not required by the server
384
- * @public
385
- * @memberof Meeting
386
- * @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
387
- */
388
- verifyPassword(password: string, captchaCode: string): Promise<{
389
- isPasswordValid: boolean;
390
- requiredCaptcha: any;
391
- failureReason: string;
392
- } | {
393
- isPasswordValid: boolean;
394
- requiredCaptcha: any;
395
- failureReason: string;
396
- }>;
397
- /**
398
- * Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
399
- * If the refresh operation fails, meeting remains with the old captcha properties.
400
- * @public
401
- * @memberof Meeting
402
- * @returns {Promise}
403
- */
404
- refreshCaptcha(): any;
405
- /**
406
- * Proxy function for all the listener set ups
407
- * @returns {undefined}
408
- * @private
409
- * @memberof Meeting
410
- */
411
- private setUpLocusInfoListeners;
412
- /**
413
- * Set up the locus info listener for meetings disconnected due to inactivity
414
- * @returns {undefined}
415
- * @private
416
- * @memberof Meeting
417
- */
418
- private setUpLocusInfoMediaInactiveListener;
419
- /**
420
- * Set up the locus info listener for assign host permissions on a meeting
421
- * @returns {undefined}
422
- * @private
423
- * @memberof Meeting
424
- */
425
- private setUpLocusInfoAssignHostListener;
426
- /**
427
- * Set up the internal locus info full state object listener
428
- * @returns {undefined}
429
- * @private
430
- * @memberof Meeting
431
- */
432
- private setUpLocusFullStateListener;
433
- /**
434
- * get the metrics payload pre
435
- * @param {Object} options
436
- * @param {String} options.event
437
- * @param {String} options.trackingId
438
- * @param {Object} options.locus
439
- * @param {Array} options.mediaConnections
440
- * @param {Object} options.errors
441
- * @returns {Object}
442
- * @memberof Meeting
443
- */
444
- getAnalyzerMetricsPrePayload(options: {
445
- event: string;
446
- trackingId: string;
447
- locus: object;
448
- mediaConnections: Array<any>;
449
- errors: object;
450
- } | any): {};
451
- /**
452
- * Send the metrics to call-analyzer dashboard
453
- * @param {Object} options
454
- * @param {String} options.event
455
- * @param {String} options.trackingId
456
- * @param {Object} options.locus
457
- * @param {Object} options.errors
458
- * @returns {Promise}
459
- * @private
460
- * @memberof Meeting
461
- */
462
- private sendCallAnalyzerMetrics;
463
- /**
464
- * Send the metrics to Media Quality Analyzer dashboard
465
- * @param {Object} options
466
- * @param {String} options.event
467
- * @param {String} options.trackingId
468
- * @param {Object} options.locus
469
- * @returns {Promise}
470
- * @private
471
- * @memberof Meeting
472
- */
473
- private sendMediaQualityAnalyzerMetrics;
474
- /**
475
- * sets the network status on meeting object
476
- * @param {String} networkStatus
477
- * @private
478
- * @returns {undefined}
479
- * @memberof Meeting
480
- */
481
- private setNetworkStatus;
482
- /**
483
- * Set up the locus info self listener
484
- * update self value for members and updates the member
485
- * notifies consumer with members:self:update {activeSelfId endedSelfId}
486
- * @returns {undefined}
487
- * @private
488
- * @memberof Meeting
489
- */
490
- private setUpLocusSelfListener;
491
- /**
492
- * Notify any changes on the pstn devices
493
- * @param {Object} payload
494
- * @returns {undefined}
495
- * @private
496
- * @memberof Meeting
497
- */
498
- private pstnUpdate;
499
- /**
500
- * Set up the locus info host listener
501
- * update host value for members and updates the member
502
- * notifies consumer with members:host:update: {activeHostId, endedHostId}
503
- * @returns {undefined}
504
- * @private
505
- * @memberof Meeting
506
- */
507
- private setUpLocusHostListener;
508
- /**
509
- * Set up the locus info participants update listener
510
- * update members collection value for members
511
- * notifies consumer with members:update
512
- * @returns {undefined}
513
- * @private
514
- * @memberof Meeting
515
- */
516
- private setUpLocusParticipantsListener;
517
- /**
518
- * Set up the locus info recording update listener
519
- * update recording value for the meeting
520
- * notifies consumer with:
521
- * meeting:recording:started
522
- * meeting:recording:stopped
523
- * meeting:recording:paused
524
- * meeting:recording:resumed
525
- *
526
- * Set up the locus info meeeting container listener
527
- * update meetingContainerUrl value for the meeting
528
- * notifies consumer with:
529
- * meeting:meetingContainer:update
530
- *
531
- * @returns {undefined}
532
- * @private
533
- * @memberof Meeting
534
- */
535
- private setupLocusControlsListener;
536
- /**
537
- * Set up the locus info media shares listener
538
- * update content and whiteboard sharing id value for members, and updates the member
539
- * notifies consumer with members:content:update {activeContentSharingId, endedContentSharingId}
540
- * @returns {undefined}
541
- * @private
542
- * @memberof Meeting
543
- */
544
- private setUpLocusMediaSharesListener;
545
- /**
546
- * Set up the locus info url listener
547
- * update locus_url value for members
548
- * @returns {undefined}
549
- * @private
550
- * @memberof Meeting
551
- */
552
- private setUpLocusUrlListener;
553
- /**
554
- * Set up the locus info service link listener
555
- * update the locusInfo for recording controller
556
- * does not currently re-emit the event as it's internal only
557
- * payload is unused
558
- * @returns {undefined}
559
- * @private
560
- * @memberof Meeting
561
- */
562
- private setUpLocusServicesListener;
563
- /**
564
- * Set up the locus info meeting info listener
565
- * @returns {undefined}
566
- * @private
567
- * @memberof meeting
568
- */
569
- private setUpLocusInfoMeetingInfoListener;
570
- /**
571
- * Set up the locus info embedded apps listener
572
- * @returns {undefined}
573
- * @private
574
- * @memberof meeting
575
- */
576
- private setUpLocusEmbeddedAppsListener;
577
- /**
578
- * Internal function to listen to the self object changes
579
- * @returns {undefined}
580
- * @private
581
- * @memberof Meeting
582
- */
583
- private setUpLocusInfoSelfListener;
584
- /**
585
- * Add LocusInfo nested object listeners (from child to parent)
586
- * @returns {undefined}
587
- * @private
588
- * @memberof Meeting
589
- */
590
- private setUpLocusInfoMeetingListener;
591
- /**
592
- * Set meeting values rather than events
593
- * @param {Object} object
594
- * @returns {undefined}
595
- * @private
596
- * @memberof Meeting
597
- * // TODO: is this function necessary?
598
- */
599
- private updateMeetingObject;
600
- /**
601
- * Invite a guest to the call that isn't normally part of this call
602
- * @param {Object} invitee
603
- * @param {String} invitee.emailAddress
604
- * @param {String} invitee.email
605
- * @param {String} invitee.phoneNumber
606
- * @param {Boolean} [alertIfActive]
607
- * @returns {Promise} see #members.addMember
608
- * @public
609
- * @memberof Meeting
610
- */
611
- invite(invitee: {
612
- emailAddress: string;
613
- email: string;
614
- phoneNumber: string;
615
- }, alertIfActive?: boolean): any;
616
- /**
617
- * Cancel an outgoing phone call invitation made during a meeting
618
- * @param {Object} invitee
619
- * @param {String} invitee.phoneNumber
620
- * @returns {Promise} see #members.cancelPhoneInvite
621
- * @public
622
- * @memberof Meeting
623
- */
624
- cancelPhoneInvite(invitee: {
625
- phoneNumber: string;
626
- }): any;
627
- /**
628
- * Admit the guest(s) to the call once they are waiting
629
- * @param {Array} memberIds
630
- * @returns {Promise} see #members.admitMembers
631
- * @public
632
- * @memberof Meeting
633
- */
634
- admit(memberIds: Array<any>): any;
635
- /**
636
- * Remove the member from the meeting, boot them
637
- * @param {String} memberId
638
- * @returns {Promise} see #members.removeMember
639
- * @public
640
- * @memberof Meeting
641
- */
642
- remove(memberId: string): any;
643
- /**
644
- * Mute another member from the meeting
645
- * @param {String} memberId
646
- * @param {Boolean} mute
647
- * @returns {Promise} see #members.muteMember
648
- * @public
649
- * @memberof Meeting
650
- */
651
- mute(memberId: string, mute?: boolean): any;
652
- /**
653
- * Transfer the moderator role to another eligible member
654
- * @param {String} memberId
655
- * @param {Boolean} moderator
656
- * @returns {Promise} see #members.transferHostToMember
657
- * @public
658
- * @memberof Meeting
659
- */
660
- transfer(memberId: string, moderator?: boolean): any;
661
- /**
662
- * Reference to the Members object
663
- * @returns {Members}
664
- * @public
665
- * @memberof Meeting
666
- */
667
- getMembers(): Members;
668
- /**
669
- * Truthy when a meeting has an audio connection established
670
- * @returns {Boolean} true if meeting audio is connected otherwise false
671
- * @public
672
- * @memberof Meeting
673
- */
674
- isAudioConnected(): boolean;
675
- /**
676
- * Convenience function to tell whether a meeting is muted
677
- * @returns {Boolean} if meeting audio muted or not
678
- * @public
679
- * @memberof Meeting
680
- */
681
- isAudioMuted(): any;
682
- /**
683
- * Convenience function to tell if the end user last changed the audio state
684
- * @returns {Boolean} if audio was manipulated by the end user
685
- * @public
686
- * @memberof Meeting
687
- */
688
- isAudioSelf(): any;
689
- /**
690
- * Truthy when a meeting has a video connection established
691
- * @returns {Boolean} true if meeting video connected otherwise false
692
- * @public
693
- * @memberof Meeting
694
- */
695
- isVideoConnected(): boolean;
696
- /**
697
- * Convenience function to tell whether video is muted
698
- * @returns {Boolean} if meeting video is muted or not
699
- * @public
700
- * @memberof Meeting
701
- */
702
- isVideoMuted(): any;
703
- /**
704
- * Convenience function to tell whether the end user changed the video state
705
- * @returns {Boolean} if meeting video is muted or not
706
- * @public
707
- * @memberof Meeting
708
- */
709
- isVideoSelf(): any;
710
- /**
711
- * Sets the meeting info on the class instance
712
- * @param {Object} meetingInfo
713
- * @param {Object} meetingInfo.body
714
- * @param {String} meetingInfo.body.conversationUrl
715
- * @param {String} meetingInfo.body.locusUrl
716
- * @param {String} meetingInfo.body.sipUri
717
- * @param {Object} meetingInfo.body.owner
718
- * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
719
- * @returns {undefined}
720
- * @private
721
- * @memberof Meeting
722
- */
723
- parseMeetingInfo(meetingInfo: {
724
- body: {
725
- conversationUrl: string;
726
- locusUrl: string;
727
- sipUri: string;
728
- owner: object;
729
- };
730
- } | any, destination?: object | string | null): void;
731
- /**
732
- * Sets the first locus info on the class instance
733
- * @param {Object} locus
734
- * @param {String} locus.url
735
- * @param {Array} locus.participants
736
- * @param {Object} locus.self
737
- * @returns {undefined}
738
- * @private
739
- * @memberof Meeting
740
- */
741
- private parseLocus;
742
- /**
743
- * Sets the sip uri on the class instance
744
- * uses meeting info as precedence
745
- * @param {String} sipUri
746
- * @returns {undefined}
747
- * @private
748
- * @memberof Meeting
749
- */
750
- setSipUri(sipUri: string): void;
751
- /**
752
- * Set the roap seq on the class instance
753
- * @param {Number} seq
754
- * @returns {undefined}
755
- * @private
756
- * @memberof Meeting
757
- */
758
- setRoapSeq(seq: number): void;
759
- /**
760
- * Set the locus info the class instance
761
- * @param {Object} locus
762
- * @param {Array} locus.mediaConnections
763
- * @param {String} locus.locusUrl
764
- * @param {String} locus.locusId
765
- * @param {String} locus.mediaId
766
- * @param {Object} locus.host
767
- * @todo change name to genertic parser
768
- * @returns {undefined}
769
- * @private
770
- * @memberof Meeting
771
- */
772
- private setLocus;
773
- /**
774
- * Sets the remote stream on the class instance and emits and
775
- * event to developers
776
- * @param {Object} pc The remote stream peer connection
777
- * @returns {undefined}
778
- * @public
779
- * @memberof Meeting
780
- */
781
- setRemoteStream(pc: any): void;
782
- /**
783
- * Upload logs for the current meeting
784
- * @param {object} options file name and function name
785
- * @returns {undefined}
786
- * @public
787
- * @memberof Meeting
788
- */
789
- uploadLogs(options?: object): void;
790
- /**
791
- * Removes remote audio and video stream on the class instance and triggers an event
792
- * to developers
793
- * @returns {undefined}
794
- * @public
795
- * @memberof Meeting
796
- * @deprecated after v1.89.3
797
- */
798
- unsetRemoteStream(): void;
799
- /**
800
- * Removes remote audio, video and share tracks from class instance's mediaProperties
801
- * @returns {undefined}
802
- */
803
- unsetRemoteTracks(): void;
804
- /**
805
- * Removes the remote stream on the class instance and triggers an event
806
- * to developers
807
- * @returns {undefined}
808
- * @public
809
- * @memberof Meeting
810
- * @deprecated after v1.89.3
811
- */
812
- closeRemoteStream(): void;
813
- /**
814
- * Removes the remote tracks on the class instance and triggers an event
815
- * to developers
816
- * @returns {undefined}
817
- * @memberof Meeting
818
- */
819
- closeRemoteTracks(): Promise<[any, any, any]>;
820
- /**
821
- * Emits the 'media:ready' event with a local stream that consists of 1 local audio and 1 local video track
822
- * @returns {undefined}
823
- * @private
824
- * @memberof Meeting
825
- */
826
- private sendLocalMediaReadyEvent;
827
- /**
828
- * Sets the local audio track on the class and emits an event to the developer
829
- * @param {MediaStreamTrack} audioTrack
830
- * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
831
- * @returns {undefined}
832
- * @private
833
- * @memberof Meeting
834
- */
835
- private setLocalAudioTrack;
836
- /**
837
- * Sets the local video track on the class and emits an event to the developer
838
- * @param {MediaStreamTrack} videoTrack
839
- * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
840
- * @returns {undefined}
841
- * @private
842
- * @memberof Meeting
843
- */
844
- private setLocalVideoTrack;
845
- /**
846
- * Sets the local media stream on the class and emits an event to the developer
847
- * @param {Stream} localStream the local media stream
848
- * @returns {undefined}
849
- * @public
850
- * @memberof Meeting
851
- */
852
- setLocalTracks(localStream: any): void;
853
- /**
854
- * Sets the local media stream on the class and emits an event to the developer
855
- * @param {MediaStream} localShare the local media stream
856
- * @returns {undefined}
857
- * @public
858
- * @memberof Meeting
859
- */
860
- setLocalShareTrack(localShare: MediaStream): void;
861
- /**
862
- * Closes the local stream from the class and emits an event to the developer
863
- * @returns {undefined}
864
- * @event media:stopped
865
- * @public
866
- * @memberof Meeting
867
- */
868
- closeLocalStream(): any;
869
- /**
870
- * Closes the local stream from the class and emits an event to the developer
871
- * @returns {undefined}
872
- * @event media:stopped
873
- * @public
874
- * @memberof Meeting
875
- */
876
- closeLocalShare(): any;
877
- /**
878
- * Removes the local stream from the class and emits an event to the developer
879
- * @returns {undefined}
880
- * @public
881
- * @memberof Meeting
882
- */
883
- unsetLocalVideoTrack(): void;
884
- /**
885
- * Removes the local share from the class and emits an event to the developer
886
- * @returns {undefined}
887
- * @public
888
- * @memberof Meeting
889
- */
890
- unsetLocalShareTrack(): void;
891
- /**
892
- * sets up listner for mercury event
893
- * @returns {undefined}
894
- * @public
895
- * @memberof Meeting
896
- */
897
- setMercuryListener(): void;
898
- /**
899
- * Close the peer connections and remove them from the class. Triggers an event
900
- * when each is closed.
901
- * @returns {Promise} returns a resolved promise with an array of closed peer connections
902
- * @public
903
- * @memberof Meeting
904
- */
905
- closePeerConnections(): any;
906
- /**
907
- * Unsets the peer connections on the class
908
- * warning DO NOT CALL WITHOUT CLOSING PEER CONNECTIONS FIRST
909
- * @param {PeerConnection} peerConnection
910
- * @returns {undefined}
911
- * @public
912
- * @memberof Meeting
913
- */
914
- unsetPeerConnections(): void;
915
- /**
916
- * Convenience method to set the correlation id for the Meeting
917
- * @param {String} id correlation id to set on the class
918
- * @returns {undefined}
919
- * @private
920
- * @memberof Meeting
921
- */
922
- private setCorrelationId;
923
- /**
924
- * Mute the audio for a meeting
925
- * @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
926
- * @public
927
- * @memberof Meeting
928
- */
929
- muteAudio(): any;
930
- /**
931
- * Unmute meeting audio
932
- * @returns {Promise} resolves data from muting audio {mute, self} or rejects if there is no audio set
933
- * @public
934
- * @memberof Meeting
935
- */
936
- unmuteAudio(): any;
937
- /**
938
- * Mute the video for a meeting
939
- * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
940
- * @public
941
- * @memberof Meeting
942
- */
943
- muteVideo(): any;
944
- /**
945
- * Unmute meeting video
946
- * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
947
- * @public
948
- * @memberof Meeting
949
- */
950
- unmuteVideo(): any;
951
- /**
952
- * Shorthand function to join AND set up media
953
- * @param {Object} options - options to join with media
954
- * @param {JoinOptions} [options.joinOptions] - see #join()
955
- * @param {MediaDirection} options.mediaSettings - see #addMedia()
956
- * @param {AudioVideo} [options.audioVideoOptions] - see #getMediaStreams()
957
- * @returns {Promise} -- {join: see join(), media: see addMedia(), local: see getMediaStreams()}
958
- * @public
959
- * @memberof Meeting
960
- * @example
961
- * joinWithMedia({
962
- * joinOptions: {resourceId: 'resourceId' },
963
- * mediaSettings: {
964
- * sendAudio: true,
965
- * sendVideo: true,
966
- * sendShare: false,
967
- * receiveVideo:true,
968
- * receiveAudio: true,
969
- * receiveShare: true
970
- * }
971
- * audioVideoOptions: {
972
- * audio: 'audioDeviceId',
973
- * video: 'videoDeviceId'
974
- * }})
975
- */
976
- joinWithMedia(options?: {
977
- joinOptions?: any;
978
- mediaSettings: any;
979
- audioVideoOptions?: any;
980
- }): any;
981
- /**
982
- * Initiates the reconnection of the media in the meeting
983
- *
984
- * @param {object} options
985
- * @returns {Promise} resolves with {reconnect} or errors with {error}
986
- * @public
987
- * @memberof Meeting
988
- */
989
- reconnect(options?: object): any;
990
- /**
991
- * Check if the meeting supports the Webex Assistant feature
992
- * @returns {boolean}
993
- * @throws TranscriptionNotSupportedError
994
- */
995
- isTranscriptionSupported(): boolean;
996
- /**
997
- * Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
998
- * @private
999
- * @returns {void}
1000
- */
1001
- private monitorTranscriptionSocketConnection;
1002
- /**
1003
- * Request for a WebSocket Url, open and monitor the WebSocket connection
1004
- * @private
1005
- * @returns {Promise<void>} a promise to open the WebSocket connection
1006
- */
1007
- private startTranscription;
1008
- /**
1009
- * stop recieving Transcription by closing
1010
- * the web socket connection properly
1011
- * @returns {void}
1012
- */
1013
- stopReceivingTranscription(): void;
1014
- /**
1015
- * triggers an event to notify that the user
1016
- * will not receive any more transcription
1017
- * @private
1018
- * @returns{void}
1019
- */
1020
- private triggerStopReceivingTranscriptionEvent;
1021
- /**
1022
- * Specify joining via audio (option: pstn), video, screenshare
1023
- * @param {JoinOptions} options A configurable options object for joining a meeting
1024
- * @returns {Promise} the join response
1025
- * @public
1026
- * @memberof Meeting
1027
- * Scenario A: Joining own claimed personal meeting room
1028
- * Scenario B: Joining other's claimed personal meeting room, do pass pin (if desired to join as host, or nullify), do pass moderator
1029
- * Scenario C: Joining an unclaimed personal meeting room, -do not- pass pin or moderator on first try, -do- pass pin and moderator
1030
- * if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
1031
- * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
1032
- */
1033
- join(options?: any): any;
1034
- /**
1035
- * Use phone for meeting audio
1036
- * @param {String} phoneNumber If provided, it will dial-out using this number. If not provided, dial-in will be used
1037
- * @returns {Promise} Resolves once the dial-in or dial-out request has completed, or rejects if it failed
1038
- * @public
1039
- * @memberof Meeting
1040
- */
1041
- usePhoneAudio(phoneNumber: string): any;
1042
- /**
1043
- * Determines if the given pstnStatus is in a state which implies the phone is provisioned
1044
- * @param {String} pstnStatus
1045
- * @returns {Boolean}
1046
- * @private
1047
- * @memberof Meeting
1048
- */
1049
- private isPhoneProvisioned;
1050
- /**
1051
- * Enable dial-in for audio
1052
- * @returns {Promise} Resolves once the dial-in request has completed, or rejects if it failed
1053
- * @private
1054
- * @memberof Meeting
1055
- */
1056
- private dialInPstn;
1057
- /**
1058
- * Enable dial-out for audio
1059
- * @param {String} phoneNumber Phone number to dial out to
1060
- * @returns {Promise} Resolves once the dial-out request has completed (it doesn't wait for the user to answer the phone), or rejects if it failed
1061
- * @private
1062
- * @memberof Meeting
1063
- */
1064
- private dialOutPstn;
1065
- /**
1066
- * Disconnect meeting audio via phone.
1067
- * @returns {Promise} Resolves once the phone audio disconnection has completed
1068
- * @public
1069
- * @memberof Meeting
1070
- * @returns {Promise}
1071
- */
1072
- disconnectPhoneAudio(): Promise<[any, any]>;
1073
- /**
1074
- * Moves the call to the specified resourceId
1075
- * @param {String} resourceId
1076
- * @returns {Promise} once the move has been completed
1077
- * @public
1078
- * @memberof Meeting
1079
- */
1080
- moveTo(resourceId: string): any;
1081
- /**
1082
- * Moves the call from the specified resourceId, back to computer
1083
- * @param {String} resourceId
1084
- * @returns {Promise} once the move has been completed
1085
- * @public
1086
- * @memberof Meeting
1087
- */
1088
- moveFrom(resourceId: string): any;
1089
- /**
1090
- * Get local media streams based on options passed
1091
- * @param {MediaDirection} mediaDirection A configurable options object for joining a meeting
1092
- * @param {AudioVideo} [audioVideo] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
1093
- * @param {SharePreferences} [sharePreferences] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
1094
- * @returns {Promise} see #Media.getUserMedia
1095
- * @public
1096
- * @todo should be static, or moved so can be called outside of a meeting
1097
- * @memberof Meeting
1098
- */
1099
- getMediaStreams: (mediaDirection: any, audioVideo?: any, sharePreferences?: any) => any;
1100
- /**
1101
- * Checks if the machine has at least one audio or video device
1102
- * @param {Object} options
1103
- * @param {Boolean} options.sendAudio
1104
- * @param {Boolean} options.sendVideo
1105
- * @returns {Object}
1106
- * @memberof Meetings
1107
- */
1108
- getSupportedDevices: ({ sendAudio, sendVideo, }: {
1109
- sendAudio: boolean;
1110
- sendVideo: boolean;
1111
- }) => any;
1112
- /**
1113
- * Get the devices from the Media module
1114
- * @returns {Promise} resolves to an array of DeviceInfo
1115
- * @memberof Meetings
1116
- */
1117
- getDevices: () => any;
1118
- /**
1119
- * Registers for all required StatsAnalyzer events
1120
- * @private
1121
- * @returns {void}
1122
- * @memberof Meetings
1123
- */
1124
- setupStatsAnalyzerEventHandlers: () => void;
1125
- /**
1126
- * Specify joining via audio (option: pstn), video, screenshare
1127
- * @param {Object} options A configurable options object for joining a meeting
1128
- * @param {Object} options.resourceId pass the deviceId
1129
- * @param {MediaDirection} options.mediaSettings pass media options
1130
- * @param {MediaStream} options.localStream
1131
- * @param {MediaStream} options.localShare
1132
- * @returns {Promise}
1133
- * @public
1134
- * @memberof Meeting
1135
- */
1136
- addMedia(options?: any): any;
1137
- /**
1138
- * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
1139
- * @returns {Boolean}
1140
- */
1141
- canUpdateMedia(): boolean;
1142
- /**
1143
- * Enqueues a media update operation.
1144
- * @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
1145
- * @param {Object} options
1146
- * @returns {Promise}
1147
- * @private
1148
- * @memberof Meeting
1149
- */
1150
- private enqueueMediaUpdate;
1151
- /**
1152
- * emits event when the negotation is completed
1153
- * @returns {void}
1154
- * @private
1155
- * @memberof Meeting
1156
- */
1157
- mediaNegotiatedEvent: () => void;
1158
- /**
1159
- * Checks if there are any queued media updates and runs the first one from
1160
- * the queue if we are in a state that allows doing that.
1161
- * @returns {undefined}
1162
- * @public
1163
- * @memberof Meeting
1164
- */
1165
- processNextQueuedMediaUpdate: () => void;
1166
- /**
1167
- * A confluence of updateAudio, updateVideo, and updateShare
1168
- * this function re-establishes all of the media streams with new options
1169
- * @param {Object} options
1170
- * @param {MediaStream} options.localStream
1171
- * @param {MediaStream} options.localShare
1172
- * @param {MediaDirection} options.mediaSettings
1173
- * @returns {Promise}
1174
- * @todo fix setRemoteStream for updateMedia
1175
- * @public
1176
- * @memberof Meeting
1177
- */
1178
- updateMedia(options?: {
1179
- localStream?: MediaStream;
1180
- localShare?: MediaStream;
1181
- mediaSettings?: any;
1182
- }): any;
1183
- /**
1184
- * Update the main audio track with new parameters
1185
- * @param {Object} options
1186
- * @param {boolean} options.sendAudio
1187
- * @param {boolean} options.receiveAudio
1188
- * @param {MediaStream} options.stream Stream that contains the audio track to update
1189
- * @returns {Promise}
1190
- * @public
1191
- * @memberof Meeting
1192
- */
1193
- updateAudio(options: {
1194
- sendAudio: boolean;
1195
- receiveAudio: boolean;
1196
- stream: MediaStream;
1197
- }): Promise<any>;
1198
- /**
1199
- * Update the main video track with new parameters
1200
- * @param {Object} options
1201
- * @param {boolean} options.sendVideo
1202
- * @param {boolean} options.receiveVideo
1203
- * @param {MediaStream} options.stream Stream that contains the video track to update
1204
- * @returns {Promise}
1205
- * @public
1206
- * @memberof Meeting
1207
- */
1208
- updateVideo(options: {
1209
- sendVideo: boolean;
1210
- receiveVideo: boolean;
1211
- stream: MediaStream;
1212
- }): any;
1213
- /**
1214
- * Internal function when stopping a share stream, cleanup
1215
- * @param {boolean} sendShare
1216
- * @param {boolean} previousShareStatus
1217
- * @returns {Promise}
1218
- * @private
1219
- * @memberof Meeting
1220
- */
1221
- private checkForStopShare;
1222
- /**
1223
- * Update the share streams, can be used to start sharing
1224
- * @param {Object} options
1225
- * @param {boolean} options.sendShare
1226
- * @param {boolean} options.receiveShare
1227
- * @returns {Promise}
1228
- * @public
1229
- * @memberof Meeting
1230
- */
1231
- updateShare(options: {
1232
- sendShare?: boolean;
1233
- receiveShare?: boolean;
1234
- stream?: any;
1235
- skipSignalingCheck?: boolean;
1236
- }): any;
1237
- /**
1238
- * Do all the attach media pre set up before executing the actual attach
1239
- * @param {MediaStream} localStream
1240
- * @param {MediaStream} localShare
1241
- * @param {MediaDirection} mediaSettings
1242
- * @returns {undefined}
1243
- * @private
1244
- * @memberof Meeting
1245
- */
1246
- private preMedia;
1247
- /**
1248
- * Acknowledge the meeting, outgoing or incoming
1249
- * @param {String} type
1250
- * @returns {Promise} resolve {message, ringing, response}
1251
- * @public
1252
- * @memberof Meeting
1253
- */
1254
- acknowledge(type: string): any;
1255
- /**
1256
- * Decline this meeting
1257
- * @param {String} reason
1258
- * @returns {undefined}
1259
- * @public
1260
- * @memberof Meeting
1261
- */
1262
- decline(reason: string): any;
1263
- /**
1264
- * Leave the current meeting
1265
- * @param {Object} options leave options
1266
- * @param {String} options.resourceId the device with which to leave from, empty if just the computer
1267
- * @returns {Promise}
1268
- * @public
1269
- * @memberof Meeting
1270
- */
1271
- leave(options?: {
1272
- resourceId?: string;
1273
- reason?: any;
1274
- }): any;
1275
- /**
1276
- * Start sharing whiteboard given channelUrl
1277
- * @param {string} channelUrl whiteboard url
1278
- * @param {String} resourceToken token created by authorize media injector
1279
- * @returns {Promise}
1280
- * @public
1281
- * @memberof Meeting
1282
- */
1283
- startWhiteboardShare(channelUrl: string, resourceToken: string): any;
1284
- /**
1285
- * Stop sharing whiteboard given channelUrl
1286
- * @param {string} channelUrl whiteboard url
1287
- * @returns {Promise}
1288
- * @public
1289
- * @memberof Meeting
1290
- */
1291
- stopWhiteboardShare(channelUrl: string): any;
1292
- /**
1293
- * Sends a request to Locus to obtain the screen share floor
1294
- * @returns {Promise} see #meetingRequest.changeMeetingFloor
1295
- * @private
1296
- * @memberof Meeting
1297
- */
1298
- private requestScreenShareFloor;
1299
- /**
1300
- * Stops the screen share
1301
- * @returns {Promise} see #updateShare
1302
- * @public
1303
- * @memberof Meeting
1304
- */
1305
- stopShare(options?: {}): any;
1306
- /**
1307
- * Sends a request to Locus to release the screen share floor.
1308
- * @returns {Promise} see #meetingRequest.changeMeetingFloor
1309
- * @private
1310
- * @memberof Meeting
1311
- */
1312
- private releaseScreenShareFloor;
1313
- /**
1314
- * Intiate a recording of this meeting
1315
- * @returns {Promise}
1316
- * @public
1317
- * @memberof Meeting
1318
- */
1319
- startRecording(): Promise<any>;
1320
- /**
1321
- * set the mute on entry flag for participants if you're the host
1322
- * @returns {Promise}
1323
- * @param {boolean} enabled
1324
- * @public
1325
- * @memberof Meeting
1326
- */
1327
- setMuteOnEntry(enabled: boolean): Promise<any>;
1328
- /**
1329
- * set the disallow unmute flag for participants if you're the host
1330
- * @returns {Promise}
1331
- * @param {boolean} enabled
1332
- * @public
1333
- * @memberof Meeting
1334
- */
1335
- setDisallowUnmute(enabled: boolean): Promise<any>;
1336
- /**
1337
- * End the recording of this meeting
1338
- * @returns {Promise}
1339
- * @public
1340
- * @memberof Meeting
1341
- */
1342
- stopRecording(): Promise<any>;
1343
- /**
1344
- * Pauses the recording of this meeting
1345
- * @returns {Promise}
1346
- * @public
1347
- * @memberof Meeting
1348
- */
1349
- pauseRecording(): Promise<any>;
1350
- /**
1351
- * Resumes the recording of this meeting
1352
- * @returns {Promise}
1353
- * @public
1354
- * @memberof Meeting
1355
- */
1356
- resumeRecording(): Promise<any>;
1357
- /**
1358
- * Locks the current meeting if possible
1359
- * @returns {Promise}
1360
- * @public
1361
- * @memberof Meeting
1362
- */
1363
- lockMeeting(): any;
1364
- /**
1365
- * Unlocks the current meeting if possible
1366
- * @returns {Promise}
1367
- * @public
1368
- * @memberof Meeting
1369
- */
1370
- unlockMeeting(): any;
1371
- /**
1372
- * Logs an error message and returns a rejected promise with same message
1373
- * @param {String} message
1374
- * @returns {Promise}
1375
- * @private
1376
- * @memberof Meeting
1377
- */
1378
- private rejectWithErrorLog;
1379
- /**
1380
- * Sends DTMF tones to the current meeting
1381
- * @param {String} tones a string of one or more DTMF tones to send
1382
- * @returns {Promise}
1383
- * @public
1384
- * @memberof Meeting
1385
- */
1386
- sendDTMF(tones: string): any;
1387
- /**
1388
- * Sends request to change layout type for the current meeting for the specific participant/device only
1389
- * @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
1390
- * @param {Object} renderInfo preferred dimensions for the remote main and content streams (server can ignore it)
1391
- * @param {Object} renderInfo.main preferred dimensions for the remote main video stream
1392
- * @param {Number} renderInfo.main.width preferred width of main video stream
1393
- * @param {Number} renderInfo.main.height preferred height of main video stream
1394
- * @param {Object} renderInfo.content preferred dimensions for the remote content share stream
1395
- * @param {Number} renderInfo.content.width preferred width of content share stream
1396
- * @param {Number} renderInfo.content.height preferred height of content share stream
1397
- * @returns {Promise}
1398
- * @public
1399
- * @memberof Meeting
1400
- */
1401
- changeVideoLayout(layoutType?: string, renderInfo?: {
1402
- main: {
1403
- width: number;
1404
- height: number;
1405
- };
1406
- content: {
1407
- width: number;
1408
- height: number;
1409
- };
1410
- }): any;
1411
- /**
1412
- * Sets the quality of the local video stream
1413
- * @param {String} level {LOW|MEDIUM|HIGH}
1414
- * @returns {Promise<MediaStream>} localStream
1415
- */
1416
- setLocalVideoQuality(level: string): any;
1417
- /**
1418
- * Sets the quality level of the remote incoming media
1419
- * @param {String} level {LOW|MEDIUM|HIGH}
1420
- * @returns {Promise}
1421
- */
1422
- setRemoteQualityLevel(level: string): any;
1423
- /**
1424
- * This is deprecated, please use setLocalVideoQuality for setting local and setRemoteQualityLevel for remote
1425
- * @param {String} level {LOW|MEDIUM|HIGH}
1426
- * @returns {Promise}
1427
- * @deprecated After FHD support
1428
- */
1429
- setMeetingQuality(level: string): any;
1430
- /**
1431
- * @param {Object} options parameter
1432
- * @param {Boolean} options.sendAudio send audio from the display share
1433
- * @param {Boolean} options.sendShare send video from the display share
1434
- * @param {Object} options.sharePreferences
1435
- * @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video
1436
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}
1437
- * @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean
1438
- * @returns {Promise}
1439
- */
1440
- shareScreen(options?: {
1441
- sendAudio: boolean;
1442
- sendShare: boolean;
1443
- sharePreferences: {
1444
- shareConstraints: MediaTrackConstraints;
1445
- };
1446
- }): any;
1447
- /**
1448
- * Functionality for when a share is ended.
1449
- * @private
1450
- * @memberof Meeting
1451
- * @param {MediaStream} localShare
1452
- * @returns {undefined}
1453
- */
1454
- private handleShareTrackEnded;
1455
- /**
1456
- * Emits the 'network:quality' event
1457
- * 1 indicates an acceptable uplink network.
1458
- * 0 indicates an unacceptable uplink network based on a predefined threshold
1459
- * @returns {undefined}
1460
- * @param {Object} res - payload of emitNetworkQuality
1461
- * @property {string} mediaType {video|audio}
1462
- * @property {number} networkQualityScore - {1|0}
1463
- * @private
1464
- * @memberof Meeting
1465
- */
1466
- private sendNetworkQualityEvent;
1467
- /**
1468
- * Handle logging the media
1469
- * @param {Object} audioTrack The audio track
1470
- * @param {Object} videoTrack The video track
1471
- * @private
1472
- * @returns {undefined}
1473
- */
1474
- private handleMediaLogging;
1475
- /**
1476
- * @param {string} typeMedia 'audio' or 'video'
1477
- * @returns {undefined}
1478
- */
1479
- setStartSetupDelay(typeMedia: string): void;
1480
- /**
1481
- * @param {string} typeMedia 'audio' or 'video'
1482
- * @returns {undefined}
1483
- */
1484
- setEndSetupDelay(typeMedia: string): void;
1485
- /**
1486
- * @param {string} typeMedia 'audio' or 'video'
1487
- * @returns {string} duration between start and end of setup
1488
- */
1489
- getSetupDelayDuration(typeMedia: string): number;
1490
- /**
1491
- * @param {string} typeMedia 'audio' or 'video'
1492
- * @returns {undefined}
1493
- */
1494
- setStartSendingMediaDelay(typeMedia: string): void;
1495
- /**
1496
- * @param {string} typeMedia 'audio' or 'video'
1497
- * @returns {undefined}
1498
- */
1499
- setEndSendingMediaDelay(typeMedia: string): void;
1500
- /**
1501
- * @param {string} typeMedia 'audio' or 'video'
1502
- * @returns {string} duration between join response and first media tx
1503
- */
1504
- getSendingMediaDelayDuration(typeMedia: string): number;
1505
- /**
1506
- *
1507
- * @returns {undefined}
1508
- */
1509
- setStartLocalSDPGenRemoteSDPRecvDelay(): void;
1510
- /**
1511
- *
1512
- * @returns {undefined}
1513
- */
1514
- setEndLocalSDPGenRemoteSDPRecvDelay(): void;
1515
- /**
1516
- *
1517
- * @returns {string} duration between local SDP generation and remote SDP reception
1518
- */
1519
- getLocalSDPGenRemoteSDPRecvDelay(): number;
1520
- /**
1521
- *
1522
- * @returns {undefined}
1523
- */
1524
- setStartCallInitiateJoinReq(): void;
1525
- /**
1526
- *
1527
- * @returns {undefined}
1528
- */
1529
- setEndCallInitiateJoinReq(): void;
1530
- /**
1531
- *
1532
- * @returns {string} duration between call initiate and sending join request to locus
1533
- */
1534
- getCallInitiateJoinReq(): number;
1535
- /**
1536
- *
1537
- * @returns {undefined}
1538
- */
1539
- setStartJoinReqResp(): void;
1540
- /**
1541
- *
1542
- * @returns {undefined}
1543
- */
1544
- setEndJoinReqResp(): void;
1545
- /**
1546
- *
1547
- * @returns {string} duration between sending locus join request and receiving join response
1548
- */
1549
- getJoinReqResp(): number;
1550
- /**
1551
- *
1552
- * @returns {string} duration between call initiate and successful locus join (even if it is in lobby)
1553
- */
1554
- getTotalJmt(): number;
1555
- /**
1556
- * End the current meeting for all
1557
- * @returns {Promise}
1558
- * @public
1559
- * @memberof Meeting
1560
- */
1561
- endMeetingForAll(): any;
1562
- /**
1563
- * clear the meeting data
1564
- * @returns {undefined}
1565
- * @public
1566
- * @memberof Meeting
1567
- */
1568
- clearMeetingData: () => void;
1569
- /**
1570
- * Internal API to return status of BNR
1571
- * @returns {Boolean}
1572
- * @public
1573
- * @memberof Meeting
1574
- */
1575
- isBnrEnabled(): any;
1576
- /**
1577
- * Internal API to obtain BNR enabled MediaStream
1578
- * @returns {Promise<MediaStreamTrack>}
1579
- * @private
1580
- * @param {MedaiStreamTrack} audioTrack from updateAudio
1581
- * @memberof Meeting
1582
- */
1583
- private internal_enableBNR;
1584
- /**
1585
- * Enable the audio track with BNR for a meeting
1586
- * @returns {Promise} resolves the data from enable bnr or rejects if there is no audio or audio is muted
1587
- * @public
1588
- * @memberof Meeting
1589
- */
1590
- enableBNR(): any;
1591
- /**
1592
- * Disable the BNR for an audio track
1593
- * @returns {Promise} resolves the data from disable bnr or rejects if there is no audio set
1594
- * @public
1595
- * @memberof Meeting
1596
- */
1597
- disableBNR(): any;
1598
- /**
1599
- * starts keepAlives being sent
1600
- * @returns {void}
1601
- * @private
1602
- * @memberof Meeting
1603
- */
1604
- startKeepAlive: () => void;
1605
- /**
1606
- * stops keepAlives being sent
1607
- * @returns {void}
1608
- * @private
1609
- * @memberof Meeting
1610
- */
1611
- stopKeepAlive: () => void;
1612
- /**
1613
- * Send a reaction inside the meeting.
1614
- *
1615
- * @param {ReactionType} reactionType - type of reaction to be sent. Example: "thumbs_up"
1616
- * @param {SkinToneType} skinToneType - skin tone for the reaction. Example: "medium_dark"
1617
- * @returns {Promise}
1618
- * @public
1619
- * @memberof Meeting
1620
- */
1621
- sendReaction(reactionType: ReactionType, skinToneType?: SkinToneType): any;
1622
- }