@webex/plugin-meetings 2.60.0-next.4 → 2.60.0-next.6

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 (126) hide show
  1. package/dist/annotation/annotation.types.d.ts +42 -0
  2. package/dist/annotation/constants.d.ts +31 -0
  3. package/dist/annotation/index.d.ts +117 -0
  4. package/dist/breakouts/breakout.d.ts +8 -0
  5. package/dist/breakouts/breakout.js +1 -1
  6. package/dist/breakouts/collection.d.ts +5 -0
  7. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  8. package/dist/breakouts/events.d.ts +8 -0
  9. package/dist/breakouts/index.d.ts +5 -0
  10. package/dist/breakouts/index.js +1 -1
  11. package/dist/breakouts/request.d.ts +22 -0
  12. package/dist/breakouts/utils.d.ts +15 -0
  13. package/dist/common/browser-detection.d.ts +9 -0
  14. package/dist/common/collection.d.ts +48 -0
  15. package/dist/common/config.d.ts +2 -0
  16. package/dist/common/errors/captcha-error.d.ts +15 -0
  17. package/dist/common/errors/intent-to-join.d.ts +16 -0
  18. package/dist/common/errors/join-meeting.d.ts +17 -0
  19. package/dist/common/errors/media.d.ts +15 -0
  20. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  21. package/dist/common/errors/parameter.d.ts +15 -0
  22. package/dist/common/errors/password-error.d.ts +15 -0
  23. package/dist/common/errors/permission.d.ts +14 -0
  24. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  25. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  26. package/dist/common/errors/reconnection.d.ts +15 -0
  27. package/dist/common/errors/stats.d.ts +15 -0
  28. package/dist/common/errors/webex-errors.d.ts +93 -0
  29. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  30. package/dist/common/events/events-scope.d.ts +17 -0
  31. package/dist/common/events/events.d.ts +12 -0
  32. package/dist/common/events/trigger-proxy.d.ts +2 -0
  33. package/dist/common/events/util.d.ts +2 -0
  34. package/dist/common/logs/logger-config.d.ts +2 -0
  35. package/dist/common/logs/logger-proxy.d.ts +2 -0
  36. package/dist/common/logs/request.d.ts +36 -0
  37. package/dist/common/queue.d.ts +34 -0
  38. package/dist/config.d.ts +71 -0
  39. package/dist/constants.d.ts +1072 -0
  40. package/dist/controls-options-manager/constants.d.ts +4 -0
  41. package/dist/controls-options-manager/enums.d.ts +15 -0
  42. package/dist/controls-options-manager/index.d.ts +136 -0
  43. package/dist/controls-options-manager/types.d.ts +43 -0
  44. package/dist/controls-options-manager/util.d.ts +1 -0
  45. package/dist/index.d.ts +7 -0
  46. package/dist/interpretation/collection.d.ts +5 -0
  47. package/dist/interpretation/index.d.ts +5 -0
  48. package/dist/interpretation/index.js +1 -1
  49. package/dist/interpretation/siLanguage.d.ts +5 -0
  50. package/dist/interpretation/siLanguage.js +1 -1
  51. package/dist/locus-info/controlsUtils.d.ts +2 -0
  52. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  53. package/dist/locus-info/fullState.d.ts +2 -0
  54. package/dist/locus-info/hostUtils.d.ts +2 -0
  55. package/dist/locus-info/index.d.ts +322 -0
  56. package/dist/locus-info/infoUtils.d.ts +2 -0
  57. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  58. package/dist/locus-info/parser.d.ts +272 -0
  59. package/dist/locus-info/selfUtils.d.ts +2 -0
  60. package/dist/media/index.d.ts +34 -0
  61. package/dist/media/properties.d.ts +93 -0
  62. package/dist/media/util.d.ts +2 -0
  63. package/dist/mediaQualityMetrics/config.d.ts +365 -0
  64. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  65. package/dist/meeting/index.d.ts +1715 -0
  66. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  67. package/dist/meeting/muteState.d.ts +184 -0
  68. package/dist/meeting/request.d.ts +290 -0
  69. package/dist/meeting/request.type.d.ts +11 -0
  70. package/dist/meeting/state.d.ts +9 -0
  71. package/dist/meeting/util.d.ts +103 -0
  72. package/dist/meeting-info/collection.d.ts +20 -0
  73. package/dist/meeting-info/index.d.ts +69 -0
  74. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  75. package/dist/meeting-info/request.d.ts +22 -0
  76. package/dist/meeting-info/util.d.ts +2 -0
  77. package/dist/meeting-info/utilv2.d.ts +2 -0
  78. package/dist/meetings/collection.d.ts +40 -0
  79. package/dist/meetings/index.d.ts +378 -0
  80. package/dist/meetings/meetings.types.d.ts +4 -0
  81. package/dist/meetings/request.d.ts +27 -0
  82. package/dist/meetings/util.d.ts +18 -0
  83. package/dist/member/index.d.ts +160 -0
  84. package/dist/member/member.types.d.ts +11 -0
  85. package/dist/member/types.d.ts +32 -0
  86. package/dist/member/util.d.ts +2 -0
  87. package/dist/members/collection.d.ts +29 -0
  88. package/dist/members/index.d.ts +353 -0
  89. package/dist/members/request.d.ts +114 -0
  90. package/dist/members/types.d.ts +25 -0
  91. package/dist/members/util.d.ts +215 -0
  92. package/dist/metrics/constants.d.ts +68 -0
  93. package/dist/metrics/index.d.ts +45 -0
  94. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  95. package/dist/multistream/receiveSlot.d.ts +68 -0
  96. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  97. package/dist/multistream/remoteMedia.d.ts +72 -0
  98. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  99. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  100. package/dist/multistream/sendSlotManager.d.ts +61 -0
  101. package/dist/networkQualityMonitor/index.d.ts +70 -0
  102. package/dist/personal-meeting-room/index.d.ts +47 -0
  103. package/dist/personal-meeting-room/request.d.ts +14 -0
  104. package/dist/personal-meeting-room/util.d.ts +2 -0
  105. package/dist/reachability/index.d.ts +194 -0
  106. package/dist/reachability/request.d.ts +39 -0
  107. package/dist/reactions/constants.d.ts +3 -0
  108. package/dist/reactions/reactions.d.ts +4 -0
  109. package/dist/reactions/reactions.type.d.ts +52 -0
  110. package/dist/reconnection-manager/index.d.ts +136 -0
  111. package/dist/recording-controller/enums.d.ts +7 -0
  112. package/dist/recording-controller/index.d.ts +207 -0
  113. package/dist/recording-controller/util.d.ts +14 -0
  114. package/dist/roap/index.d.ts +78 -0
  115. package/dist/roap/request.d.ts +41 -0
  116. package/dist/roap/turnDiscovery.d.ts +92 -0
  117. package/dist/rtcMetrics/constants.d.ts +4 -0
  118. package/dist/rtcMetrics/index.d.ts +54 -0
  119. package/dist/statsAnalyzer/global.d.ts +36 -0
  120. package/dist/statsAnalyzer/index.d.ts +201 -0
  121. package/dist/statsAnalyzer/mqaUtil.d.ts +24 -0
  122. package/dist/transcription/index.d.ts +64 -0
  123. package/dist/webinar/collection.d.ts +16 -0
  124. package/dist/webinar/index.d.ts +5 -0
  125. package/dist/webinar/index.js +1 -1
  126. package/package.json +21 -21
@@ -0,0 +1,194 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ export type ReachabilityMetrics = {
5
+ reachability_public_udp_success: number;
6
+ reachability_public_udp_failed: number;
7
+ reachability_public_tcp_success: number;
8
+ reachability_public_tcp_failed: number;
9
+ reachability_vmn_udp_success: number;
10
+ reachability_vmn_udp_failed: number;
11
+ reachability_vmn_tcp_success: number;
12
+ reachability_vmn_tcp_failed: number;
13
+ };
14
+ export type TransportResult = {
15
+ reachable?: 'true' | 'false';
16
+ latencyInMilliseconds?: string;
17
+ clientMediaIPs?: string[];
18
+ untested?: 'true';
19
+ };
20
+ type ReachabilityResult = {
21
+ udp: TransportResult;
22
+ tcp: TransportResult;
23
+ xtls: {
24
+ untested: 'true';
25
+ };
26
+ };
27
+ export type ReachabilityResults = Record<string, ReachabilityResult>;
28
+ type InternalReachabilityResults = Record<string, ReachabilityResult & {
29
+ isVideoMesh?: boolean;
30
+ }>;
31
+ export type ICECandidateResult = {
32
+ clusterId: string;
33
+ isVideoMesh: boolean;
34
+ elapsed?: string | null;
35
+ publicIPs?: string[];
36
+ };
37
+ /**
38
+ * @class Reachability
39
+ * @export
40
+ */
41
+ export default class Reachability {
42
+ namespace: string;
43
+ webex: object;
44
+ reachabilityRequest: any;
45
+ clusterLatencyResults: any;
46
+ /**
47
+ * Creates an instance of Reachability.
48
+ * @param {object} webex
49
+ * @memberof Reachability
50
+ */
51
+ constructor(webex: object);
52
+ /**
53
+ * fetches reachability data
54
+ * @returns {Object} reachability data
55
+ * @public
56
+ * @async
57
+ * @memberof Reachability
58
+ */
59
+ gatherReachability(): Promise<InternalReachabilityResults>;
60
+ /**
61
+ * Returns statistics about last reachability results. The returned value is an object
62
+ * with a flat list of properties so that it can be easily sent with metrics
63
+ *
64
+ * @returns {Promise} Promise with metrics values, it never rejects/throws.
65
+ */
66
+ getReachabilityMetrics(): Promise<ReachabilityMetrics>;
67
+ /**
68
+ * Reachability results as an object in the format that backend expects
69
+ *
70
+ * @returns {any} reachability results that need to be sent to the backend
71
+ */
72
+ getReachabilityResults(): Promise<ReachabilityResults | undefined>;
73
+ /**
74
+ * fetches reachability data and checks for cluster reachability
75
+ * @returns {boolean}
76
+ * @public
77
+ * @memberof Reachability
78
+ */
79
+ isAnyPublicClusterReachable(): Promise<boolean>;
80
+ /**
81
+ * Generate peerConnection config settings
82
+ * @param {object} cluster
83
+ * @returns {object} peerConnectionConfig
84
+ * @private
85
+ * @memberof Reachability
86
+ */
87
+ private buildPeerConnectionConfig;
88
+ /**
89
+ * Creates an RTCPeerConnection
90
+ * @param {object} cluster
91
+ * @returns {RTCPeerConnection} peerConnection
92
+ * @private
93
+ * @memberof Reachability
94
+ */
95
+ private createPeerConnection;
96
+ /**
97
+ * Gets total elapsed time
98
+ * @param {RTCPeerConnection} peerConnection
99
+ * @returns {Number} Milliseconds
100
+ * @private
101
+ * @memberof Reachability
102
+ */
103
+ private getElapsedTime;
104
+ /**
105
+ * creates offer and generates localSDP
106
+ * @param {object} clusterList cluster List
107
+ * @returns {Promise} Reachability latency results
108
+ * @private
109
+ * @memberof Reachability
110
+ */
111
+ private getLocalSDPForClusters;
112
+ /**
113
+ * Get list of all unreachable clusters
114
+ * @returns {array} Unreachable clusters
115
+ * @private
116
+ * @memberof Reachability
117
+ */
118
+ private getUnreachablClusters;
119
+ /**
120
+ * Attach an event handler for the icegatheringstatechange
121
+ * event and measure latency.
122
+ * @param {RTCPeerConnection} peerConnection
123
+ * @returns {undefined}
124
+ * @private
125
+ * @memberof Reachability
126
+ */
127
+ private handleIceGatheringStateChange;
128
+ /**
129
+ * Attach an event handler for the icecandidate
130
+ * event and measure latency.
131
+ * @param {RTCPeerConnection} peerConnection
132
+ * @returns {undefined}
133
+ * @private
134
+ * @memberof Reachability
135
+ */
136
+ private handleOnIceCandidate;
137
+ /**
138
+ * An event handler on an RTCPeerConnection when the state of the ICE
139
+ * candidate gathering process changes. Used to measure connection
140
+ * speed.
141
+ * @private
142
+ * @param {RTCPeerConnection} peerConnection
143
+ * @param {boolean} isVideoMesh
144
+ * @returns {Promise}
145
+ */
146
+ private iceGatheringState;
147
+ /**
148
+ * Make a log of unreachable clusters.
149
+ * @returns {undefined}
150
+ * @private
151
+ * @memberof Reachability
152
+ */
153
+ private logUnreachableClusters;
154
+ /**
155
+ * Calculates time to establish connection
156
+ * @param {Array<ICECandidateResult>} iceResults iceResults
157
+ * @returns {object} reachabilityMap
158
+ * @protected
159
+ * @memberof Reachability
160
+ */
161
+ protected parseIceResultsToInternalReachabilityResults(iceResults: Array<ICECandidateResult>): InternalReachabilityResults;
162
+ /**
163
+ * fetches reachability data
164
+ * @param {object} clusterList
165
+ * @returns {Promise<InternalReachabilityResults>} reachability check results
166
+ * @private
167
+ * @memberof Reachability
168
+ */
169
+ private performReachabilityCheck;
170
+ /**
171
+ * Adds public IP (client media IPs)
172
+ * @param {RTCPeerConnection} peerConnection
173
+ * @param {string} publicIP
174
+ * @returns {void}
175
+ */
176
+ protected addPublicIP(peerConnection: RTCPeerConnection, publicIP?: string | null): void;
177
+ /**
178
+ * Records latency and closes the peerConnection
179
+ * @param {RTCPeerConnection} peerConnection
180
+ * @param {number} elapsed Latency in milliseconds
181
+ * @returns {undefined}
182
+ * @private
183
+ * @memberof Reachability
184
+ */
185
+ private setLatencyAndClose;
186
+ /**
187
+ * utility function
188
+ * @returns {undefined}
189
+ * @private
190
+ * @memberof Reachability
191
+ */
192
+ private setup;
193
+ }
194
+ export {};
@@ -0,0 +1,39 @@
1
+ import { IP_VERSION } from '../constants';
2
+ export interface ClusterNode {
3
+ isVideoMesh: boolean;
4
+ udp: Array<string>;
5
+ tcp: Array<string>;
6
+ xtls: Array<string>;
7
+ }
8
+ export type ClusterList = {
9
+ [key: string]: ClusterNode;
10
+ };
11
+ /**
12
+ * @class ReachabilityRequest
13
+ */
14
+ declare class ReachabilityRequest {
15
+ webex: any;
16
+ /**
17
+ * Creates an instance of ReachabilityRequest.
18
+ * @param {object} webex
19
+ * @memberof ReachabilityRequest
20
+ */
21
+ constructor(webex: object);
22
+ /**
23
+ * Gets the cluster information
24
+ *
25
+ * @param {IP_VERSION} ipVersion information about current ip network we're on
26
+ * @returns {Promise}
27
+ */
28
+ getClusters: (ipVersion?: IP_VERSION) => Promise<{
29
+ clusters: ClusterList;
30
+ joinCookie: any;
31
+ }>;
32
+ /**
33
+ * gets remote SDP For Clusters
34
+ * @param {Object} localSDPList localSDPs for the cluster
35
+ * @returns {Object}
36
+ */
37
+ remoteSDPForClusters: (localSDPList: object) => any;
38
+ }
39
+ export default ReachabilityRequest;
@@ -0,0 +1,3 @@
1
+ export declare const REACTION_RELAY_TYPES: {
2
+ readonly REACTION: "react";
3
+ };
@@ -0,0 +1,4 @@
1
+ import { Reaction, ReactionServerType, SkinTone, SkinToneType } from './reactions.type';
2
+ declare const Reactions: Record<ReactionServerType, Reaction>;
3
+ declare const SkinTones: Record<SkinToneType, SkinTone>;
4
+ export { Reactions, SkinTones };
@@ -0,0 +1,52 @@
1
+ import { REACTION_RELAY_TYPES } from './constants';
2
+ export type EmoticonData = {
3
+ type: string;
4
+ codepoints?: string;
5
+ shortcodes?: string;
6
+ };
7
+ export type SkinTone = EmoticonData;
8
+ export type Reaction = EmoticonData & {
9
+ tone?: SkinTone;
10
+ };
11
+ export declare enum ReactionServerType {
12
+ smile = "smile",
13
+ sad = "sad",
14
+ wow = "wow",
15
+ haha = "haha",
16
+ celebrate = "celebrate",
17
+ clap = "clap",
18
+ thumb_up = "thumb_up",
19
+ thumb_down = "thumb_down",
20
+ heart = "heart",
21
+ fire = "fire",
22
+ prayer = "prayer",
23
+ speed_up = "speed_up",
24
+ slow_down = "slow_down"
25
+ }
26
+ export declare enum SkinToneType {
27
+ normal = "normal",
28
+ light = "light",
29
+ medium_light = "medium_light",
30
+ medium = "medium",
31
+ medium_dark = "medium_dark",
32
+ dark = "dark"
33
+ }
34
+ export type Sender = {
35
+ participantId: string;
36
+ };
37
+ export type ProcessedReaction = {
38
+ reaction: Reaction;
39
+ sender: {
40
+ id: Sender['participantId'];
41
+ name: string;
42
+ };
43
+ };
44
+ type RelayEventData = {
45
+ relayType: (typeof REACTION_RELAY_TYPES)['REACTION'];
46
+ reaction: Reaction;
47
+ sender: Sender;
48
+ };
49
+ export type RelayEvent = {
50
+ data: RelayEventData;
51
+ };
52
+ export {};
@@ -0,0 +1,136 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import { RECONNECTION_STATE } from '../constants';
5
+ import Meeting from '../meeting';
6
+ /**
7
+ * @export
8
+ * @class ReconnectionManager
9
+ */
10
+ export default class ReconnectionManager {
11
+ autoRejoinEnabled: any;
12
+ iceState: any;
13
+ maxRejoinAttempts: any;
14
+ meeting: any;
15
+ rejoinAttempts: any;
16
+ shareStatus: any;
17
+ status: any;
18
+ tryCount: any;
19
+ webex: any;
20
+ /**
21
+ * @param {Meeting} meeting
22
+ */
23
+ constructor(meeting: Meeting);
24
+ /**
25
+ * @public
26
+ * @memberof ReconnectionManager
27
+ * @returns {void}
28
+ */
29
+ resetReconnectionTimer(): void;
30
+ /**
31
+ * Sets the iceState to connected and clears any disconnect timeouts and
32
+ * related timeout data within the iceState.
33
+ *
34
+ * @returns {undefined}
35
+ * @public
36
+ * @memberof ReconnectionManager
37
+ */
38
+ iceReconnected(): void;
39
+ /**
40
+ * Set the iceState to disconnected and generates a timeout that waits for the
41
+ * iceState to reconnect and then resolves. If the ice state is already
42
+ * processing a reconnect, it immediately resolves. Rejects if the timeout
43
+ * duration is reached.
44
+ *
45
+ * @returns {Promise<undefined>}
46
+ * @public
47
+ * @memberof ReconnectionManager
48
+ */
49
+ waitForIceReconnect(): Promise<void>;
50
+ /**
51
+ * @returns {undefined}
52
+ * @public
53
+ * @memberof ReconnectionManager
54
+ */
55
+ reset(): void;
56
+ /**
57
+ * @returns {undefined}
58
+ * @public
59
+ * @memberof ReconnectionManager
60
+ */
61
+ cleanUp(): void;
62
+ /**
63
+ * Stop the local share stream.
64
+ *
65
+ * @param {string} reason a {@link SHARE_STOPPED_REASON}
66
+ * @returns {undefined}
67
+ * @private
68
+ * @memberof ReconnectionManager
69
+ */
70
+ private stopLocalShareStream;
71
+ /**
72
+ * @public
73
+ * @memberof ReconnectionManager
74
+ * @returns {Boolean} true if reconnection operation is in progress
75
+ */
76
+ isReconnectInProgress(): boolean;
77
+ /**
78
+ * Sets the reconnection status
79
+ *
80
+ * @public
81
+ * @param {RECONNECTION_STATE} status
82
+ * @memberof ReconnectionManager
83
+ * @returns {undefined}
84
+ */
85
+ setStatus(status: RECONNECTION_STATE): void;
86
+ /**
87
+ * @returns {Boolean}
88
+ * @throws {ReconnectionError}
89
+ * @private
90
+ * @memberof ReconnectionManager
91
+ */
92
+ private validate;
93
+ /**
94
+ * Initiates a media reconnect for the active meeting
95
+ * @param {Object} reconnectOptions
96
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
97
+ * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
98
+ * @returns {Promise}
99
+ * @public
100
+ * @memberof ReconnectionManager
101
+ */
102
+ reconnect({ networkDisconnect, networkRetry, }?: {
103
+ networkDisconnect?: boolean;
104
+ networkRetry?: boolean;
105
+ }): any;
106
+ /**
107
+ * @param {Object} reconnectOptions
108
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
109
+ * @returns {Promise}
110
+ * @throws {NeedsRetryError}
111
+ * @private
112
+ * @memberof ReconnectionManager
113
+ */
114
+ private executeReconnection;
115
+ /**
116
+ * Rejoins a meeting after detecting the member was in a LEFT state
117
+ *
118
+ * @async
119
+ * @param {boolean} wasSharing
120
+ * @returns {Promise}
121
+ */
122
+ rejoinMeeting(wasSharing?: boolean): Promise<void>;
123
+ /**
124
+ * @returns {Promise}
125
+ * @private
126
+ * @memberof ReconnectionManager
127
+ */
128
+ reconnectMedia(): Promise<void>;
129
+ /**
130
+ * Attempt to Reconnect Mercury Websocket
131
+ * @returns {Promise}
132
+ * @private
133
+ * @memberof ReconnectionManager
134
+ */
135
+ private reconnectMercuryWebSocket;
136
+ }
@@ -0,0 +1,7 @@
1
+ declare enum RecordingAction {
2
+ Start = "Start",
3
+ Stop = "Stop",
4
+ Pause = "Pause",
5
+ Resume = "Resume"
6
+ }
7
+ export default RecordingAction;
@@ -0,0 +1,207 @@
1
+ import { SELF_POLICY } from '../constants';
2
+ import MeetingRequest from '../meeting/request';
3
+ /**
4
+ * @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
5
+ * @export
6
+ * @private
7
+ * @class Recording
8
+ */
9
+ export default class RecordingController {
10
+ /**
11
+ * @instance
12
+ * @type {MeetingRequest}
13
+ * @private
14
+ * @memberof RecordingController
15
+ */
16
+ private request;
17
+ /**
18
+ * @instance
19
+ * @type {Array}
20
+ * @private
21
+ * @memberof RecordingInfo
22
+ */
23
+ private displayHints;
24
+ /**
25
+ * @instance
26
+ * @type {Object}
27
+ * @private
28
+ * @memberof RecordingInfo
29
+ */
30
+ private selfUserPolicies;
31
+ /**
32
+ * @instance
33
+ * @type {string}
34
+ * @private
35
+ * @memberof RecordingInfo
36
+ */
37
+ private serviceUrl;
38
+ /**
39
+ * @instance
40
+ * @type {string}
41
+ * @private
42
+ * @memberof RecordingInfo
43
+ */
44
+ private sessionId;
45
+ /**
46
+ * @instance
47
+ * @type {string}
48
+ * @private
49
+ * @memberof RecordingInfo
50
+ */
51
+ private locusUrl;
52
+ /**
53
+ * @instance
54
+ * @type {string}
55
+ * @private
56
+ * @memberof RecordingInfo
57
+ */
58
+ private locusId;
59
+ /**
60
+ * @param {MeetingRequest} request
61
+ * @param {Object} options
62
+ * @constructor
63
+ * @memberof RecordingController
64
+ */
65
+ constructor(request: MeetingRequest, options?: {
66
+ serviceUrl?: string;
67
+ sessionId: string;
68
+ locusUrl: string;
69
+ displayHints?: Array<string>;
70
+ });
71
+ /**
72
+ * @param {MeetingRequest} request
73
+ * @returns {void}
74
+ * @private
75
+ * @memberof RecordingController
76
+ */
77
+ private initialize;
78
+ /**
79
+ * @param {Object} options
80
+ * @returns {void}
81
+ * @public
82
+ * @memberof RecordingController
83
+ */
84
+ set(options?: {
85
+ serviceUrl?: string;
86
+ sessionId: string;
87
+ locusUrl: string;
88
+ displayHints?: Array<string>;
89
+ }): void;
90
+ /**
91
+ * @param {string} url
92
+ * @returns {void}
93
+ * @public
94
+ * @memberof RecordingController
95
+ */
96
+ setLocusUrl(url: string): void;
97
+ /**
98
+ * @param {Array} hints
99
+ * @returns {void}
100
+ * @public
101
+ * @memberof RecordingController
102
+ */
103
+ setDisplayHints(hints: Array<string>): void;
104
+ /**
105
+ * @param {Object} selfUserPolicies
106
+ * @returns {void}
107
+ * @public
108
+ * @memberof RecordingController
109
+ */
110
+ setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>): void;
111
+ /**
112
+ * @param {string} id
113
+ * @returns {void}
114
+ * @public
115
+ * @memberof RecordingController
116
+ */
117
+ setSessionId(id: string): void;
118
+ /**
119
+ * @param {string} url
120
+ * @returns {void}
121
+ * @public
122
+ * @memberof RecordingController
123
+ */
124
+ setServiceUrl(url: string): void;
125
+ /**
126
+ * @returns {string}
127
+ * @public
128
+ * @memberof RecordingController
129
+ */
130
+ getLocusUrl(): string;
131
+ /**
132
+ * @returns {string}
133
+ * @public
134
+ * @memberof RecordingController
135
+ */
136
+ getLocusId(): string;
137
+ /**
138
+ * @returns {string}
139
+ * @public
140
+ * @memberof RecordingController
141
+ */
142
+ getSessionId(): string;
143
+ /**
144
+ * @returns {string}
145
+ * @public
146
+ * @memberof RecordingController
147
+ */
148
+ getServiceUrl(): string;
149
+ /**
150
+ * @returns {Array}
151
+ * @public
152
+ * @memberof RecordingController
153
+ */
154
+ getDisplayHints(): string[];
155
+ /**
156
+ * @param {Object} options
157
+ * @returns {void}
158
+ * @private
159
+ * @memberof RecordingController
160
+ */
161
+ private extract;
162
+ /**
163
+ * @param {RecordingAction} action
164
+ * @private
165
+ * @memberof RecordingController
166
+ * @returns {Promise}
167
+ */
168
+ private recordingService;
169
+ /**
170
+ * @param {RecordingAction} action
171
+ * @private
172
+ * @memberof RecordingController
173
+ * @returns {Promise}
174
+ */
175
+ private recordingControls;
176
+ /**
177
+ * @param {RecordingAction} action
178
+ * @private
179
+ * @memberof RecordingController
180
+ * @returns {Promise}
181
+ */
182
+ private recordingFacade;
183
+ /**
184
+ * @private
185
+ * @memberof RecordingController
186
+ * @returns {Promise}
187
+ */
188
+ startRecording(): Promise<any>;
189
+ /**
190
+ * @private
191
+ * @memberof RecordingController
192
+ * @returns {Promise}
193
+ */
194
+ stopRecording(): Promise<any>;
195
+ /**
196
+ * @private
197
+ * @memberof RecordingController
198
+ * @returns {Promise}
199
+ */
200
+ pauseRecording(): Promise<any>;
201
+ /**
202
+ * @private
203
+ * @memberof RecordingController
204
+ * @returns {Promise}
205
+ */
206
+ resumeRecording(): Promise<any>;
207
+ }
@@ -0,0 +1,14 @@
1
+ import { SELF_POLICY } from '../constants';
2
+ import RecordingAction from './enums';
3
+ declare const _default: {
4
+ canUserStart: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
5
+ canUserPause: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
6
+ canUserResume: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
7
+ canUserStop: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
8
+ deriveRecordingStates: (action: RecordingAction) => {
9
+ recording: boolean;
10
+ paused: boolean;
11
+ };
12
+ extractLocusId: (url: string) => string;
13
+ };
14
+ export default _default;