@webex/plugin-meetings 2.39.0 → 2.39.2

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 (101) hide show
  1. package/dist/common/browser-detection.d.ts +9 -0
  2. package/dist/common/collection.d.ts +48 -0
  3. package/dist/common/config.d.ts +2 -0
  4. package/dist/common/errors/captcha-error.d.ts +15 -0
  5. package/dist/common/errors/intent-to-join.d.ts +16 -0
  6. package/dist/common/errors/join-meeting.d.ts +17 -0
  7. package/dist/common/errors/media.d.ts +15 -0
  8. package/dist/common/errors/parameter.d.ts +15 -0
  9. package/dist/common/errors/password-error.d.ts +15 -0
  10. package/dist/common/errors/permission.d.ts +14 -0
  11. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  12. package/dist/common/errors/reconnection.d.ts +15 -0
  13. package/dist/common/errors/stats.d.ts +15 -0
  14. package/dist/common/errors/webex-errors.d.ts +81 -0
  15. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  16. package/dist/common/events/events-scope.d.ts +17 -0
  17. package/dist/common/events/events.d.ts +12 -0
  18. package/dist/common/events/trigger-proxy.d.ts +2 -0
  19. package/dist/common/events/util.d.ts +2 -0
  20. package/dist/common/logs/logger-config.d.ts +2 -0
  21. package/dist/common/logs/logger-proxy.d.ts +2 -0
  22. package/dist/common/logs/request.d.ts +34 -0
  23. package/dist/common/queue.d.ts +32 -0
  24. package/dist/config.d.ts +73 -0
  25. package/dist/constants.d.ts +924 -0
  26. package/dist/controls-options-manager/constants.d.ts +4 -0
  27. package/dist/controls-options-manager/enums.d.ts +5 -0
  28. package/dist/controls-options-manager/index.d.ts +120 -0
  29. package/dist/controls-options-manager/util.d.ts +7 -0
  30. package/dist/index.d.ts +4 -0
  31. package/dist/locus-info/controlsUtils.d.ts +2 -0
  32. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  33. package/dist/locus-info/fullState.d.ts +2 -0
  34. package/dist/locus-info/hostUtils.d.ts +2 -0
  35. package/dist/locus-info/index.d.ts +269 -0
  36. package/dist/locus-info/infoUtils.d.ts +2 -0
  37. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  38. package/dist/locus-info/parser.d.ts +212 -0
  39. package/dist/locus-info/selfUtils.d.ts +2 -0
  40. package/dist/media/index.d.ts +32 -0
  41. package/dist/media/properties.d.ts +108 -0
  42. package/dist/media/util.d.ts +2 -0
  43. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  44. package/dist/meeting/effectsState.d.ts +42 -0
  45. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  46. package/dist/meeting/index.d.ts +1621 -0
  47. package/dist/meeting/muteState.d.ts +116 -0
  48. package/dist/meeting/request.d.ts +255 -0
  49. package/dist/meeting/state.d.ts +9 -0
  50. package/dist/meeting/util.d.ts +2 -0
  51. package/dist/meeting-info/collection.d.ts +20 -0
  52. package/dist/meeting-info/index.d.ts +57 -0
  53. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  54. package/dist/meeting-info/request.d.ts +22 -0
  55. package/dist/meeting-info/util.d.ts +2 -0
  56. package/dist/meeting-info/utilv2.d.ts +2 -0
  57. package/dist/meetings/collection.d.ts +23 -0
  58. package/dist/meetings/index.d.ts +297 -0
  59. package/dist/meetings/request.d.ts +27 -0
  60. package/dist/meetings/util.d.ts +18 -0
  61. package/dist/member/index.d.ts +145 -0
  62. package/dist/member/util.d.ts +2 -0
  63. package/dist/members/collection.d.ts +24 -0
  64. package/dist/members/index.d.ts +298 -0
  65. package/dist/members/request.d.ts +50 -0
  66. package/dist/members/util.d.ts +2 -0
  67. package/dist/metrics/config.d.ts +169 -0
  68. package/dist/metrics/config.js +1 -11
  69. package/dist/metrics/config.js.map +1 -1
  70. package/dist/metrics/constants.d.ts +57 -0
  71. package/dist/metrics/index.d.ts +152 -0
  72. package/dist/metrics/index.js +3 -25
  73. package/dist/metrics/index.js.map +1 -1
  74. package/dist/networkQualityMonitor/index.d.ts +70 -0
  75. package/dist/peer-connection-manager/index.d.ts +6 -0
  76. package/dist/peer-connection-manager/util.d.ts +6 -0
  77. package/dist/personal-meeting-room/index.d.ts +47 -0
  78. package/dist/personal-meeting-room/request.d.ts +14 -0
  79. package/dist/personal-meeting-room/util.d.ts +2 -0
  80. package/dist/reachability/index.d.ts +139 -0
  81. package/dist/reachability/request.d.ts +35 -0
  82. package/dist/reactions/reactions.d.ts +4 -0
  83. package/dist/reactions/reactions.type.d.ts +32 -0
  84. package/dist/reconnection-manager/index.d.ts +112 -0
  85. package/dist/recording-controller/enums.d.ts +7 -0
  86. package/dist/recording-controller/index.d.ts +193 -0
  87. package/dist/recording-controller/util.d.ts +13 -0
  88. package/dist/roap/collection.d.ts +10 -0
  89. package/dist/roap/handler.d.ts +47 -0
  90. package/dist/roap/index.d.ts +116 -0
  91. package/dist/roap/request.d.ts +35 -0
  92. package/dist/roap/state.d.ts +9 -0
  93. package/dist/roap/turnDiscovery.d.ts +67 -0
  94. package/dist/roap/util.d.ts +2 -0
  95. package/dist/statsAnalyzer/global.d.ts +126 -0
  96. package/dist/statsAnalyzer/index.d.ts +190 -0
  97. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  98. package/dist/transcription/index.d.ts +64 -0
  99. package/package.json +18 -19
  100. package/src/metrics/config.ts +0 -10
  101. package/src/metrics/index.ts +3 -24
@@ -0,0 +1,70 @@
1
+ import EventsScope from '../common/events/events-scope';
2
+ /**
3
+ * Meeting - network quality event
4
+ * Emitted on each interval of retrieving stats Analyzer data
5
+ * @event network:quality
6
+ * @type {Object}
7
+ * @property {string} mediaType {video|audio}
8
+ * @property {number} networkQualityScore - value determined in determineUplinkNetworkQuality
9
+ * @memberof NetworkQualityMonitor
10
+ */
11
+ /**
12
+ * NetworkQualityMonitor class that will emit events based on detected quality
13
+ *
14
+ * @class NetworkQualityMonitor
15
+ * @extends {EventsScope}
16
+ */
17
+ export default class NetworkQualityMonitor extends EventsScope {
18
+ config: any;
19
+ frequencyTypes: any;
20
+ indicatorTypes: any;
21
+ mediaType: any;
22
+ networkQualityScore: any;
23
+ networkQualityStatus: any;
24
+ /**
25
+ * Creates a new instance of NetworkQualityMonitor
26
+ * @constructor
27
+ * @public
28
+ * @param {Object} config
29
+ * @property {Object} indicatorTypes - network properties used to evaluate network quality used as constants
30
+ * @property {Object} frequencyTypes - frequency properties used as constants {uplink|send} {downlink|receive}
31
+ * @property {number} networkQualityScore - 0|1 1 is acceptable 0 is bad/unknown
32
+ * @property {Object} networkQualityStatus - hash object based on indicatorTypes and frequencyTypes
33
+ * @property {string} mediaType - audio|video
34
+ */
35
+ constructor(config: any);
36
+ /**
37
+ * emits NETWORK_QUALITY event on meeting with payload of media type and uplinkNetworkQuality score
38
+ *
39
+ * @memberof NetworkQualityMonitor
40
+ * @returns {void}
41
+ */
42
+ emitNetworkQuality(): void;
43
+ /**
44
+ * invokes emitNetworkQuality method resets values back to default
45
+ * @returns {void}
46
+ * @memberof NetworkQualityMonitor
47
+ */
48
+ updateNetworkQualityStatus(): void;
49
+ /**
50
+ * filter data to determine uplink network quality, invoked on same interval as stats analyzer remote-inbout-rtp
51
+ * @param {Object} configObj
52
+ * @param {string} configObj.mediaType {audio|video}
53
+ * @param {RTCStats} configObj.remoteRtpResults RTC stats remote obj
54
+ * @param {Object} configObj.statsAnalyzerCurrentStats statsResults
55
+ * @returns {void}
56
+ * @public
57
+ * @memberof NetworkQualityMonitor
58
+ */
59
+ determineUplinkNetworkQuality({ mediaType, remoteRtpResults, statsAnalyzerCurrentStats, }: {
60
+ mediaType: string;
61
+ remoteRtpResults: any;
62
+ statsAnalyzerCurrentStats: object;
63
+ }): void;
64
+ /**
65
+ * Get the current status of network quaility object - networkQualityStatus
66
+ * @returns {Object}
67
+ * @public
68
+ */
69
+ get networkQualityStats(): any;
70
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @export
3
+ * @public
4
+ */
5
+ declare const pc: any;
6
+ export default pc;
@@ -0,0 +1,6 @@
1
+ interface IPeerConnectionUtils {
2
+ convertCLineToIpv4: (sdp: string) => string;
3
+ adjustH264Profile: (sdp: string, maxFsValue: number) => string;
4
+ }
5
+ declare const PeerConnectionUtils: IPeerConnectionUtils;
6
+ export default PeerConnectionUtils;
@@ -0,0 +1,47 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ /**
3
+ * @class PersonalMeetingRoom
4
+ */
5
+ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
6
+ link: any;
7
+ meetingInfo: any;
8
+ name: any;
9
+ personalMeetingRoomRequest: any;
10
+ pmr: any;
11
+ sipUri: any;
12
+ userId: any;
13
+ meetingLink: any;
14
+ number: any;
15
+ namespace: string;
16
+ /**
17
+ *
18
+ * @param {Object} attrs
19
+ * @param {Object} options
20
+ */
21
+ constructor(attrs: any, options: any);
22
+ /**
23
+ * claims a pmr and updates the cached PMR values
24
+ * @param {String} link
25
+ * @param {String} pin
26
+ * @param {Boolean} [preferred] defaults to true to set this claimed PMR as the preferred
27
+ * @returns {Promise}
28
+ * @public
29
+ * @memberof PersonalMeetingRoom
30
+ */
31
+ claim(link: string, pin: string, preferred?: boolean): any;
32
+ /**
33
+ * @param {Object} body the response body from meeting info request
34
+ * @returns {undefined}
35
+ * @private
36
+ * @memberof PersonalMeetingRoom
37
+ */
38
+ private set;
39
+ /**
40
+ * TODO: implement TTL for syncing and caching so to not request again and again
41
+ * @param {Object} options
42
+ * @returns {Promise}
43
+ * @public
44
+ * @memberof PersonalMeetingRoom
45
+ */
46
+ get(): any;
47
+ }
@@ -0,0 +1,14 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ /**
3
+ * @class MeetingInfoRequest
4
+ */
5
+ export default class PersonalMeetingRoomRequest extends StatelessWebexPlugin {
6
+ namespace: string;
7
+ /**
8
+ *
9
+ * @param {Object} options with format of {userId, passcode, meetingAddress, preferred}
10
+ * @returns {Promise} returns a promise that resolves/rejects the result of the request
11
+ * @memberof PersonalMeetingRoomRequest
12
+ */
13
+ claimPmr(options: any): any;
14
+ }
@@ -0,0 +1,2 @@
1
+ declare const PersonalMeetingRoomUtil: any;
2
+ export default PersonalMeetingRoomUtil;
@@ -0,0 +1,139 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /**
5
+ * @class Reachability
6
+ * @export
7
+ */
8
+ export default class Reachability {
9
+ webex: object;
10
+ reachabilityRequest: any;
11
+ clusterLatencyResults: any;
12
+ /**
13
+ * Creates an instance of Reachability.
14
+ * @param {object} webex
15
+ * @memberof Reachability
16
+ */
17
+ constructor(webex: object);
18
+ /**
19
+ * fetches reachability data
20
+ * @returns {Object} reachability data
21
+ * @public
22
+ * @async
23
+ * @memberof Reachability
24
+ */
25
+ gatherReachability(): Promise<unknown>;
26
+ /**
27
+ * fetches reachability data and checks for cluster reachability
28
+ * @returns {boolean}
29
+ * @public
30
+ * @memberof Reachability
31
+ */
32
+ isAnyClusterReachable(): boolean;
33
+ /**
34
+ * Generate peerConnection config settings
35
+ * @param {object} cluster
36
+ * @returns {object} peerConnectionConfig
37
+ * @private
38
+ * @memberof Reachability
39
+ */
40
+ private buildPeerConnectionConfig;
41
+ /**
42
+ * Creates an RTCPeerConnection
43
+ * @param {object} cluster
44
+ * @returns {RTCPeerConnection} peerConnection
45
+ * @private
46
+ * @memberof Reachability
47
+ */
48
+ private createPeerConnection;
49
+ /**
50
+ * Gets total elapsed time
51
+ * @param {RTCPeerConnection} peerConnection
52
+ * @returns {Number} Milliseconds
53
+ * @private
54
+ * @memberof Reachability
55
+ */
56
+ private getElapsedTime;
57
+ /**
58
+ * creates offer and generates localSDP
59
+ * @param {object} clusterList cluster List
60
+ * @returns {Promise} Reachability latency results
61
+ * @private
62
+ * @memberof Reachability
63
+ */
64
+ private getLocalSDPForClusters;
65
+ /**
66
+ * Get list of all unreachable clusters
67
+ * @returns {array} Unreachable clusters
68
+ * @private
69
+ * @memberof Reachability
70
+ */
71
+ private getUnreachablClusters;
72
+ /**
73
+ * Attach an event handler for the icegatheringstatechange
74
+ * event and measure latency.
75
+ * @param {RTCPeerConnection} peerConnection
76
+ * @returns {undefined}
77
+ * @private
78
+ * @memberof Reachability
79
+ */
80
+ private handleIceGatheringStateChange;
81
+ /**
82
+ * Attach an event handler for the icecandidate
83
+ * event and measure latency.
84
+ * @param {RTCPeerConnection} peerConnection
85
+ * @returns {undefined}
86
+ * @private
87
+ * @memberof Reachability
88
+ */
89
+ private handleOnIceCandidate;
90
+ /**
91
+ * An event handler on an RTCPeerConnection when the state of the ICE
92
+ * candidate gathering process changes. Used to measure connection
93
+ * speed.
94
+ * @private
95
+ * @param {RTCPeerConnection} peerConnection
96
+ * @param {number} timeout
97
+ * @returns {Promise}
98
+ */
99
+ private iceGatheringState;
100
+ /**
101
+ * Make a log of unreachable clusters.
102
+ * @returns {undefined}
103
+ * @private
104
+ * @memberof Reachability
105
+ */
106
+ private logUnreachableClusters;
107
+ /**
108
+ * Calculates time to establish connection
109
+ * @param {array} iceResults iceResults
110
+ * @returns {object} reachabilityMap
111
+ * @private
112
+ * @memberof Reachability
113
+ */
114
+ private parseIceResultsToReachabilityResults;
115
+ /**
116
+ * fetches reachability data
117
+ * @param {object} clusterList
118
+ * @returns {Promise<localSDPData>} reachability check results
119
+ * @private
120
+ * @memberof Reachability
121
+ */
122
+ private performReachabilityCheck;
123
+ /**
124
+ * Records latency and closes the peerConnection
125
+ * @param {RTCPeerConnection} peerConnection
126
+ * @param {number} elapsed Latency in milliseconds
127
+ * @returns {undefined}
128
+ * @private
129
+ * @memberof Reachability
130
+ */
131
+ private setLatencyAndClose;
132
+ /**
133
+ * utility function
134
+ * @returns {undefined}
135
+ * @private
136
+ * @memberof Reachability
137
+ */
138
+ private setup;
139
+ }
@@ -0,0 +1,35 @@
1
+ export interface ClusterNode {
2
+ isVideoMesh: boolean;
3
+ udp: Array<string>;
4
+ tcp: Array<string>;
5
+ xtls: Array<string>;
6
+ }
7
+ export type ClusterList = {
8
+ [key: string]: ClusterNode;
9
+ };
10
+ /**
11
+ * @class ReachabilityRequest
12
+ */
13
+ declare class ReachabilityRequest {
14
+ webex: any;
15
+ /**
16
+ * Creates an instance of ReachabilityRequest.
17
+ * @param {object} webex
18
+ * @memberof ReachabilityRequest
19
+ */
20
+ constructor(webex: object);
21
+ /**
22
+ * gets the cluster information
23
+ *
24
+ * @param {boolean} includeVideoMesh whether to include the video mesh clusters in the result or not
25
+ * @returns {Promise}
26
+ */
27
+ getClusters: () => Promise<ClusterList>;
28
+ /**
29
+ * gets remote SDP For Clusters
30
+ * @param {Object} localSDPList localSDPs for the cluster
31
+ * @returns {Object}
32
+ */
33
+ remoteSDPForClusters: (localSDPList: object) => any;
34
+ }
35
+ export default ReachabilityRequest;
@@ -0,0 +1,4 @@
1
+ import { Reaction, ReactionType, SkinTone, SkinToneType } from './reactions.type';
2
+ declare const Reactions: Record<ReactionType, Reaction>;
3
+ declare const SkinTones: Record<SkinToneType, SkinTone>;
4
+ export { Reactions, SkinTones };
@@ -0,0 +1,32 @@
1
+ export type EmoticonData = {
2
+ type: string;
3
+ codepoints?: string;
4
+ shortcodes?: string;
5
+ };
6
+ export type SkinTone = EmoticonData;
7
+ export type Reaction = EmoticonData & {
8
+ tone?: SkinTone;
9
+ };
10
+ export declare enum ReactionType {
11
+ smile = "smile",
12
+ sad = "sad",
13
+ wow = "wow",
14
+ haha = "haha",
15
+ celebrate = "celebrate",
16
+ clap = "clap",
17
+ thumbs_up = "thumbs_up",
18
+ thumbs_down = "thumbs_down",
19
+ heart = "heart",
20
+ fire = "fire",
21
+ prayer = "prayer",
22
+ speed_up = "speed_up",
23
+ slow_down = "slow_down"
24
+ }
25
+ export declare enum SkinToneType {
26
+ normal = "normal",
27
+ light = "light",
28
+ medium_light = "medium_light",
29
+ medium = "medium",
30
+ medium_dark = "medium_dark",
31
+ dark = "dark"
32
+ }
@@ -0,0 +1,112 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Meeting from '../meeting';
5
+ /**
6
+ * @export
7
+ * @class ReconnectionManager
8
+ */
9
+ export default class ReconnectionManager {
10
+ autoRejoinEnabled: any;
11
+ iceState: any;
12
+ maxRejoinAttempts: any;
13
+ meeting: any;
14
+ rejoinAttempts: any;
15
+ shareStatus: any;
16
+ status: any;
17
+ tryCount: any;
18
+ webex: any;
19
+ /**
20
+ * @param {Meeting} meeting
21
+ */
22
+ constructor(meeting: Meeting);
23
+ /**
24
+ * Sets the iceState to connected and clears any disconnect timeouts and
25
+ * related timeout data within the iceState.
26
+ *
27
+ * @returns {undefined}
28
+ * @public
29
+ * @memberof ReconnectionManager
30
+ */
31
+ iceReconnected(): void;
32
+ /**
33
+ * Set the iceState to disconnected and generates a timeout that waits for the
34
+ * iceState to reconnect and then resolves. If the ice state is already
35
+ * processing a reconnect, it immediately resolves. Rejects if the timeout
36
+ * duration is reached.
37
+ *
38
+ * @returns {Promise<undefined>}
39
+ * @public
40
+ * @memberof ReconnectionManager
41
+ */
42
+ waitForIceReconnect(): Promise<void>;
43
+ /**
44
+ * @returns {undefined}
45
+ * @public
46
+ * @memberof ReconnectionManager
47
+ */
48
+ reset(): void;
49
+ /**
50
+ * @returns {undefined}
51
+ * @public
52
+ * @memberof ReconnectionManager
53
+ */
54
+ cleanUp(): void;
55
+ /**
56
+ * @returns {Boolean}
57
+ * @throws {ReconnectionError}
58
+ * @private
59
+ * @memberof ReconnectionManager
60
+ */
61
+ private validate;
62
+ /**
63
+ * Initiates a media reconnect for the active meeting
64
+ * @param {Object} reconnectOptions
65
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
66
+ * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
67
+ * @returns {Promise}
68
+ * @public
69
+ * @memberof ReconnectionManager
70
+ */
71
+ reconnect({ networkDisconnect, networkRetry, }?: {
72
+ networkDisconnect?: boolean;
73
+ networkRetry?: boolean;
74
+ }): any;
75
+ /**
76
+ * @param {Object} reconnectOptions
77
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
78
+ * @returns {Promise}
79
+ * @throws {NeedsRetryError}
80
+ * @private
81
+ * @memberof ReconnectionManager
82
+ */
83
+ private executeReconnection;
84
+ /**
85
+ * Rejoins a meeting after detecting the member was in a LEFT state
86
+ *
87
+ * @async
88
+ * @param {boolean} wasSharing
89
+ * @returns {Promise}
90
+ */
91
+ rejoinMeeting(wasSharing?: boolean): Promise<void>;
92
+ /**
93
+ * @returns {Promise}
94
+ * @private
95
+ * @memberof ReconnectionManager
96
+ */
97
+ reconnectMedia(): Promise<any>;
98
+ /**
99
+ * Attempt to Reconnect Mercury Websocket
100
+ * @returns {Promise}
101
+ * @private
102
+ * @memberof ReconnectionManager
103
+ */
104
+ private reconnectMercuryWebSocket;
105
+ /**
106
+ * @param {Meeting} meeting
107
+ * @returns {undefined}
108
+ * @private
109
+ * @memberof ReconnectionManager
110
+ */
111
+ private static setupPeerConnection;
112
+ }
@@ -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,193 @@
1
+ import MeetingRequest from '../meeting/request';
2
+ /**
3
+ * @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
4
+ * @export
5
+ * @private
6
+ * @class Recording
7
+ */
8
+ export default class RecordingController {
9
+ /**
10
+ * @instance
11
+ * @type {MeetingRequest}
12
+ * @private
13
+ * @memberof RecordingController
14
+ */
15
+ private request;
16
+ /**
17
+ * @instance
18
+ * @type {Array}
19
+ * @private
20
+ * @memberof RecordingInfo
21
+ */
22
+ private displayHints;
23
+ /**
24
+ * @instance
25
+ * @type {string}
26
+ * @private
27
+ * @memberof RecordingInfo
28
+ */
29
+ private serviceUrl;
30
+ /**
31
+ * @instance
32
+ * @type {string}
33
+ * @private
34
+ * @memberof RecordingInfo
35
+ */
36
+ private sessionId;
37
+ /**
38
+ * @instance
39
+ * @type {string}
40
+ * @private
41
+ * @memberof RecordingInfo
42
+ */
43
+ private locusUrl;
44
+ /**
45
+ * @instance
46
+ * @type {string}
47
+ * @private
48
+ * @memberof RecordingInfo
49
+ */
50
+ private locusId;
51
+ /**
52
+ * @param {MeetingRequest} request
53
+ * @param {Object} options
54
+ * @constructor
55
+ * @memberof RecordingController
56
+ */
57
+ constructor(request: MeetingRequest, options?: {
58
+ serviceUrl?: string;
59
+ sessionId: string;
60
+ locusUrl: string;
61
+ displayHints?: Array<string>;
62
+ });
63
+ /**
64
+ * @param {MeetingRequest} request
65
+ * @param {LocusInfo} info
66
+ * @returns {void}
67
+ * @private
68
+ * @memberof RecordingController
69
+ */
70
+ private initialize;
71
+ /**
72
+ * @param {Object} options
73
+ * @returns {void}
74
+ * @public
75
+ * @memberof RecordingController
76
+ */
77
+ set(options?: {
78
+ serviceUrl?: string;
79
+ sessionId: string;
80
+ locusUrl: string;
81
+ displayHints?: Array<string>;
82
+ }): void;
83
+ /**
84
+ * @param {string} url
85
+ * @returns {void}
86
+ * @public
87
+ * @memberof RecordingController
88
+ */
89
+ setLocusUrl(url: string): void;
90
+ /**
91
+ * @param {Array} hints
92
+ * @returns {void}
93
+ * @public
94
+ * @memberof RecordingController
95
+ */
96
+ setDisplayHints(hints: Array<string>): void;
97
+ /**
98
+ * @param {string} id
99
+ * @returns {void}
100
+ * @public
101
+ * @memberof RecordingController
102
+ */
103
+ setSessionId(id: string): void;
104
+ /**
105
+ * @param {string} url
106
+ * @returns {void}
107
+ * @public
108
+ * @memberof RecordingController
109
+ */
110
+ setServiceUrl(url: string): void;
111
+ /**
112
+ * @returns {string}
113
+ * @public
114
+ * @memberof RecordingController
115
+ */
116
+ getLocusUrl(): string;
117
+ /**
118
+ * @returns {string}
119
+ * @public
120
+ * @memberof RecordingController
121
+ */
122
+ getLocusId(): string;
123
+ /**
124
+ * @returns {string}
125
+ * @public
126
+ * @memberof RecordingController
127
+ */
128
+ getSessionId(): string;
129
+ /**
130
+ * @returns {string}
131
+ * @public
132
+ * @memberof RecordingController
133
+ */
134
+ getServiceUrl(): string;
135
+ /**
136
+ * @returns {Array}
137
+ * @public
138
+ * @memberof RecordingController
139
+ */
140
+ getDisplayHints(): string[];
141
+ /**
142
+ * @param {Object} options
143
+ * @returns {void}
144
+ * @private
145
+ * @memberof RecordingController
146
+ */
147
+ private extract;
148
+ /**
149
+ * @param {RecordingAction} action
150
+ * @private
151
+ * @memberof RecordingController
152
+ * @returns {Promise}
153
+ */
154
+ private recordingService;
155
+ /**
156
+ * @param {RecordingAction} action
157
+ * @private
158
+ * @memberof RecordingController
159
+ * @returns {Promise}
160
+ */
161
+ private recordingControls;
162
+ /**
163
+ * @param {RecordingAction} action
164
+ * @private
165
+ * @memberof RecordingController
166
+ * @returns {Promise}
167
+ */
168
+ private recordingFacade;
169
+ /**
170
+ * @private
171
+ * @memberof RecordingController
172
+ * @returns {Promise}
173
+ */
174
+ startRecording(): Promise<any>;
175
+ /**
176
+ * @private
177
+ * @memberof RecordingController
178
+ * @returns {Promise}
179
+ */
180
+ stopRecording(): Promise<any>;
181
+ /**
182
+ * @private
183
+ * @memberof RecordingController
184
+ * @returns {Promise}
185
+ */
186
+ pauseRecording(): Promise<any>;
187
+ /**
188
+ * @private
189
+ * @memberof RecordingController
190
+ * @returns {Promise}
191
+ */
192
+ resumeRecording(): Promise<any>;
193
+ }
@@ -0,0 +1,13 @@
1
+ import RecordingAction from './enums';
2
+ declare const _default: {
3
+ canUserStart: (displayHints: string[]) => boolean;
4
+ canUserPause: (displayHints: string[]) => boolean;
5
+ canUserResume: (displayHints: string[]) => boolean;
6
+ canUserStop: (displayHints: string[]) => boolean;
7
+ deriveRecordingStates: (action: RecordingAction) => {
8
+ recording: boolean;
9
+ paused: boolean;
10
+ };
11
+ extractLocusId: (url: string) => string;
12
+ };
13
+ export default _default;