@vkontakte/calls-sdk 2.8.2-dev.e1d7e72.0 → 2.8.2-dev.e8ddcb1.0

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 (60) hide show
  1. package/CallsSDK.d.ts +78 -41
  2. package/abstract/BaseApi.d.ts +11 -9
  3. package/abstract/BaseSignaling.d.ts +10 -8
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/AudioOutput.d.ts +8 -3
  7. package/classes/Conversation.d.ts +27 -21
  8. package/classes/FpsMeter.d.ts +10 -0
  9. package/classes/MediaSource.d.ts +5 -4
  10. package/classes/ParticipantIdRegistry.d.ts +5 -0
  11. package/classes/ProducerCommandSerializationService.d.ts +2 -0
  12. package/classes/codec/IEncoder.d.ts +1 -1
  13. package/classes/codec/LibVPxEncoder.d.ts +1 -1
  14. package/classes/codec/Types.d.ts +12 -2
  15. package/classes/codec/WebCodecsEncoder.d.ts +1 -1
  16. package/classes/screenshare/PacketHistory.d.ts +3 -2
  17. package/classes/screenshare/ScreenCaptureSender.d.ts +14 -4
  18. package/classes/screenshare/ScreenCongestionControl.d.ts +7 -2
  19. package/classes/screenshare/StreamBuilder.d.ts +1 -0
  20. package/classes/screenshare/Utils.d.ts +1 -1
  21. package/classes/stat/StatAggregator.d.ts +1 -1
  22. package/classes/transport/DirectTransport.d.ts +5 -0
  23. package/classes/transport/ServerTransport.d.ts +2 -0
  24. package/classes/transport/Statistics.d.ts +20 -2
  25. package/classes/transport/Transport.d.ts +2 -1
  26. package/constants/Rooms.d.ts +1 -0
  27. package/default/Api.d.ts +14 -14
  28. package/default/ApiExternal.d.ts +11 -0
  29. package/default/Signaling.d.ts +12 -11
  30. package/enums/SignalingCommandType.d.ts +6 -2
  31. package/enums/SignalingNotification.d.ts +2 -2
  32. package/package.json +3 -6
  33. package/static/ApiTransport.d.ts +3 -1
  34. package/static/AuthData.d.ts +6 -6
  35. package/static/External.d.ts +59 -18
  36. package/static/Params.d.ts +127 -42
  37. package/static/Utils.d.ts +8 -4
  38. package/types/Asr.d.ts +22 -1
  39. package/types/AudienceMode.d.ts +8 -0
  40. package/types/Conversation.d.ts +4 -0
  41. package/types/ExternalId.d.ts +13 -15
  42. package/types/{Logger.d.ts → IEventualStatLog.d.ts} +2 -2
  43. package/types/MovieShare.d.ts +2 -2
  44. package/types/MuteStates.d.ts +1 -1
  45. package/types/Params.d.ts +1 -0
  46. package/types/Participant.d.ts +2 -2
  47. package/types/ParticipantLayout.d.ts +2 -2
  48. package/types/ParticipantListChunk.d.ts +1 -1
  49. package/types/ParticipantStreamDescription.d.ts +0 -1
  50. package/types/PerfStatReporter.d.ts +1 -1
  51. package/types/RequestAsr.d.ts +3 -0
  52. package/types/Room.d.ts +4 -0
  53. package/types/SignalingMessage.d.ts +34 -4
  54. package/types/Statistics.d.ts +9 -4
  55. package/types/Streams.d.ts +10 -0
  56. package/types/VideoSettings.d.ts +15 -0
  57. package/utils/ArrayDequeue.d.ts +1 -1
  58. package/utils/ArrayList.d.ts +5 -2
  59. package/utils/FastList.d.ts +5 -2
  60. package/utils/IList.d.ts +5 -2
@@ -1,18 +1,15 @@
1
1
  import BaseSignaling, { AddParticipantParams } from '../abstract/BaseSignaling';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
4
- import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
5
- import { PerfStatReport } from '../types/PerfStatReporter';
6
4
  import { TransportTopology } from '../classes/transport/Transport';
7
5
  import ConversationFeature from '../enums/ConversationFeature';
8
6
  import ConversationOption from '../enums/ConversationOption';
9
7
  import MediaOption from '../enums/MediaOption';
10
- import RecordRole from '../enums/RecordRole';
11
8
  import SignalingCommandType from '../enums/SignalingCommandType';
12
9
  import SignalingConnectionType from '../enums/SignalingConnectionType';
13
10
  import UserRole from '../enums/UserRole';
14
11
  import { JSONObject } from '../static/Json';
15
- import { IAsrStartParams } from '../types/Asr';
12
+ import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
16
13
  import MediaModifiers from '../types/MediaModifiers';
17
14
  import MediaSettings from '../types/MediaSettings';
18
15
  import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
@@ -20,8 +17,10 @@ import MuteStates from '../types/MuteStates';
20
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
21
18
  import ParticipantLayout, { RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
22
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
20
+ import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
21
+ import { PerfStatReport } from '../types/PerfStatReporter';
23
22
  import SignalingMessage from '../types/SignalingMessage';
24
- import { IStartStreamData, IStopStreamData } from '../types/Streams';
23
+ import { IRecordConfData, IStartStreamData, IStopStreamData, IPublishStreamData } from '../types/Streams';
25
24
  import { WaitingParticipantId } from '../types/WaitingHall';
26
25
  export default class Signaling extends BaseSignaling {
27
26
  private socket;
@@ -86,7 +85,7 @@ export default class Signaling extends BaseSignaling {
86
85
  getNextCommandSequenceNumber(): number;
87
86
  hangup(reason: string): Promise<SignalingMessage | void>;
88
87
  sendCandidate(participantId: ParticipantId, candidate: RTCIceCandidate): Promise<SignalingMessage>;
89
- requestTestMode(consumerCommand: string, producerCommand: string): Promise<SignalingMessage>;
88
+ requestTestMode(consumerCommand: string, producerCommand: string | null): Promise<SignalingMessage>;
90
89
  sendSdp(participantId: ParticipantId, sdp: RTCSessionDescription): Promise<SignalingMessage>;
91
90
  acceptCall(mediaSettings: MediaSettings): Promise<SignalingMessage>;
92
91
  changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
@@ -118,7 +117,8 @@ export default class Signaling extends BaseSignaling {
118
117
  removeRooms(roomIds: number[]): Promise<SignalingMessage>;
119
118
  startStream(data: IStartStreamData): Promise<SignalingMessage>;
120
119
  stopStream(data?: IStopStreamData): Promise<SignalingMessage>;
121
- recordSetRole(participantId: ParticipantId, role: RecordRole | null, roomId?: number | null): Promise<SignalingMessage>;
120
+ publishStream(data?: IPublishStreamData): Promise<SignalingMessage>;
121
+ recordSetConf(conf?: IRecordConfData): Promise<SignalingMessage>;
122
122
  getRecordStatus(): Promise<SignalingMessage>;
123
123
  switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
124
124
  requestRealloc(): Promise<SignalingMessage>;
@@ -127,7 +127,7 @@ export default class Signaling extends BaseSignaling {
127
127
  chatMessage(message: string, participantId?: CompositeUserId | null): Promise<SignalingMessage>;
128
128
  chatHistory(count: number): Promise<SignalingMessage>;
129
129
  customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
130
- grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
130
+ grantRoles(participantId: ParticipantId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
131
131
  muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[], roomId?: number | null): Promise<SignalingMessage>;
132
132
  enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
133
133
  pinParticipant(participantId: ParticipantId, unpin: boolean, roomId: number | null): Promise<SignalingMessage>;
@@ -137,7 +137,10 @@ export default class Signaling extends BaseSignaling {
137
137
  }): Promise<SignalingMessage>;
138
138
  getWaitingHall(fromId?: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
139
139
  promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
140
+ requestPromotion(demote?: boolean): Promise<SignalingMessage>;
141
+ acceptPromotion(reject?: boolean): Promise<SignalingMessage>;
140
142
  feedback(key: string): Promise<SignalingMessage>;
143
+ getHandQueue(): Promise<SignalingMessage>;
141
144
  /**
142
145
  * Close a connection with a signaling server
143
146
  */
@@ -152,9 +155,8 @@ export default class Signaling extends BaseSignaling {
152
155
  getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
153
156
  getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
154
157
  startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
155
- stopAsr(): Promise<SignalingMessage>;
158
+ stopAsr(params?: IAsrStopParams): Promise<SignalingMessage>;
156
159
  requestAsr(request: boolean): Promise<SignalingMessage>;
157
- setAsrDataChannel(dataChannel: RTCDataChannel): void;
158
160
  protected _connect(connectionType: SignalingConnectionType): void;
159
161
  protected _disconnect(code?: number): void;
160
162
  private _onOpen;
@@ -168,7 +170,6 @@ export default class Signaling extends BaseSignaling {
168
170
  protected _closeSocket(error?: Error | null): void;
169
171
  protected _reconnect(): void;
170
172
  private _handleCommandResponse;
171
- private _serializeAsrCommand;
172
173
  private _handleCommandsQueue;
173
174
  private _serializeBinary;
174
175
  private _serializeJson;
@@ -15,7 +15,8 @@ declare enum SignalingCommandType {
15
15
  REPORT_SHARING_STAT = "report-sharing-stat",
16
16
  RECORD_START = "record-start",
17
17
  RECORD_STOP = "record-stop",
18
- RECORD_SET_ROLE = "record-set-role",
18
+ RECORD_PUBLISH = "record-publish",
19
+ RECORD_SET_CONF = "record-set-conf",
19
20
  RECORD_GET_STATUS = "record-get-status",
20
21
  SWITCH_MICRO = "switch-micro",
21
22
  SWITCH_TOPOLOGY = "switch-topology",
@@ -45,6 +46,9 @@ declare enum SignalingCommandType {
45
46
  FEEDBACK = "feedback",
46
47
  ASR_START = "asr-start",
47
48
  ASR_STOP = "asr-stop",
48
- REQUEST_ASR = "request-asr"
49
+ REQUEST_ASR = "request-asr",
50
+ REQUEST_PROMOTION = "request-promotion",
51
+ ACCEPT_PROMOTION = "accept-promotion",
52
+ GET_HAND_QUEUE = "get-hand-queue"
49
53
  }
50
54
  export default SignalingCommandType;
@@ -38,7 +38,6 @@ declare enum SignalingNotification {
38
38
  JOIN_LINK_CHANGED = "join-link-changed",
39
39
  FEEDBACK = "feedback",
40
40
  MOVIE_UPDATE_NOTIFICATION = "movie-update-notification",
41
- MOVIE_SHARE_INFO = "movie-share-info",
42
41
  MOVIE_SHARE_STARTED = "movie-share-started",
43
42
  MOVIE_SHARE_STOPPED = "movie-share-stopped",
44
43
  ROOM_UPDATED = "room-updated",
@@ -47,6 +46,7 @@ declare enum SignalingNotification {
47
46
  FEATURES_PER_ROLE_CHANGED = "features-per-role-changed",
48
47
  PARTICIPANT_ANIMOJI_CHANGED = "participant-animoji-changed",
49
48
  ASR_STARTED = "asr-started",
50
- ASR_STOPPED = "asr-stopped"
49
+ ASR_STOPPED = "asr-stopped",
50
+ PARTICIPANT_SOURCES_SUSPEND = "participant-sources-suspend"
51
51
  }
52
52
  export default SignalingNotification;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.8.2-dev.e1d7e72.0",
3
+ "version": "2.8.2-dev.e8ddcb1.0",
4
4
  "author": "vk.com",
5
5
  "description": "Library for video calls based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -14,15 +14,12 @@
14
14
  "**/*.d.ts"
15
15
  ],
16
16
  "dependencies": {
17
- "@vkontakte/calls-video-effects": "1.1.4",
18
- "@vkontakte/calls-vmoji": "1.0.7-beta.3",
17
+ "@vkontakte/calls-video-effects": "2.0.1-beta.5",
18
+ "@vkontakte/calls-vmoji": "1.0.8-beta.6",
19
19
  "@vkontakte/libvpx": "2.0.9",
20
20
  "bit-buffer": "0.2.5",
21
21
  "messagepack": "1.1.12",
22
22
  "simple-ebml-builder": "0.2.2",
23
23
  "webrtc-adapter": "7.7.0"
24
- },
25
- "prettier": {
26
- "editorconfig": true
27
24
  }
28
25
  }
@@ -1,7 +1,9 @@
1
+ import { IApiEnv } from '../types/Params';
2
+ export declare function _resolveApiEndpoint(apiEnv?: IApiEnv): Promise<string>;
1
3
  export declare function init(): void;
2
4
  export declare function sendBeakon(method: string, params?: {
3
5
  [key: string]: any;
4
6
  }, noSession?: boolean): Promise<void>;
5
7
  export declare function request(method: string, params?: {
6
8
  [key: string]: any;
7
- }, noSession?: boolean): Promise<unknown>;
9
+ }, noSession?: boolean, customEndpoint?: string): Promise<unknown>;
@@ -2,11 +2,11 @@ export default abstract class AuthData {
2
2
  private static _sessionKey;
3
3
  private static _sessionSecretKey;
4
4
  private static _accessToken;
5
- static get sessionKey(): string;
6
- static set sessionKey(value: string);
7
- static get sessionSecretKey(): string;
8
- static set sessionSecretKey(value: string);
9
- static get accessToken(): string;
10
- static set accessToken(value: string);
5
+ static get sessionKey(): string | undefined;
6
+ static set sessionKey(value: string | undefined);
7
+ static get sessionSecretKey(): string | undefined;
8
+ static set sessionSecretKey(value: string | undefined);
9
+ static get accessToken(): string | undefined;
10
+ static set accessToken(value: string | undefined);
11
11
  static isEmpty(): boolean;
12
12
  }
@@ -1,3 +1,4 @@
1
+ import { IAsrData } from '../types/Asr';
1
2
  import { ConversationData } from '../types/Conversation';
2
3
  import HangupReason from '../classes/HangupReason';
3
4
  import { MediaTrackKind } from '../classes/MediaSource';
@@ -16,7 +17,7 @@ import MediaSettings from '../types/MediaSettings';
16
17
  import { IOnRemoteMovieData, ISharedMovieInfo, ISharedMovieState, ISharedMovieStoppedInfo } from '../types/MovieShare';
17
18
  import MuteStates from '../types/MuteStates';
18
19
  import { ParticipantStateMapped } from '../types/Participant';
19
- import { Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../types/Room';
20
+ import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../types/Room';
20
21
  import { DebugMessageType } from './Debug';
21
22
  import { JSONObject } from './Json';
22
23
  /**
@@ -125,6 +126,20 @@ declare namespace External {
125
126
  * @param stream
126
127
  */
127
128
  function onRemoteVmojiStream(userId: ExternalParticipantId, stream: MediaStream | null): void;
129
+ /**
130
+ * Cтрим собеседника приостановлен/возобновлен.
131
+ *
132
+ * @param userId
133
+ * @param suspended true - стрим был приостановлен, false - стрим был запущен
134
+ */
135
+ function onRemoteStreamSuspended(userId: ExternalParticipantId, suspended: boolean): void;
136
+ /**
137
+ * Стрим с экрана собеседника приостановлен/возобновлен.
138
+ *
139
+ * @param userId
140
+ * @param suspended true - стрим был приостановлен, false - стрим был запущен
141
+ */
142
+ function onRemoteScreenStreamSuspended(userId: ExternalParticipantId, suspended: boolean): void;
128
143
  /**
129
144
  * Начат звонок
130
145
  *
@@ -134,7 +149,7 @@ declare namespace External {
134
149
  * @param participants Список участников звонка
135
150
  * @param rooms Список сессионных залов в звонке
136
151
  */
137
- function onConversation(userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants?: ExternalParticipant[], rooms?: Rooms): void;
152
+ function onConversation(userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms): void;
138
153
  /**
139
154
  * Постраничные данные про участников при начале звонка
140
155
  * @param chunk
@@ -147,7 +162,7 @@ declare namespace External {
147
162
  * @param mediaSettings
148
163
  * @param markers
149
164
  */
150
- function onRemoteMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings, markers?: ExternalParticipantListMarkers): void;
165
+ function onRemoteMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null): void;
151
166
  /**
152
167
  * Изменились данные собственного стрима
153
168
  *
@@ -160,43 +175,47 @@ declare namespace External {
160
175
  *
161
176
  * @param userId
162
177
  * @param sharedMovieInfo
178
+ * @param roomId
163
179
  */
164
- function onRemoteSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo): void;
180
+ function onRemoteSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId): void;
165
181
  /**
166
182
  * Полученны данные по остановленным стримам (лайв/мувик) от собеседника
167
183
  *
168
184
  * @param userId
169
185
  * @param sharedMovieStoppedInfo
186
+ * @param roomId
170
187
  */
171
- function onRemoteSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo): void;
188
+ function onRemoteSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId): void;
172
189
  /**
173
190
  * Полученны данные по собственным стримам (лайв/мувик)
174
191
  *
175
192
  * @param userId
176
193
  * @param sharedMovieInfo
194
+ * @param roomId
177
195
  */
178
- function onLocalSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo): void;
196
+ function onLocalSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId): void;
179
197
  /**
180
198
  * Полученны данные по собственным остановленным стримам (лайв/мувик)
181
199
  *
182
200
  * @param userId
183
201
  * @param sharedMovieStoppedInfo
202
+ * @param roomId
184
203
  */
185
- function onLocalSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo): void;
204
+ function onLocalSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId): void;
186
205
  /**
187
206
  * Добавили участника
188
207
  *
189
208
  * @param userId
190
209
  * @param markers
191
210
  */
192
- function onParticipantAdded(userId: ExternalId, markers?: ExternalParticipantListMarkers): void;
211
+ function onParticipantAdded(userId: ExternalId, markers: ExternalParticipantListMarkers | null): void;
193
212
  /**
194
213
  * Участник подключился
195
214
  *
196
215
  * @param userId
197
216
  * @param markers
198
217
  */
199
- function onParticipantJoined(userId: ExternalId, markers?: ExternalParticipantListMarkers): void;
218
+ function onParticipantJoined(userId: ExternalId, markers: ExternalParticipantListMarkers | null): void;
200
219
  /**
201
220
  * Изменились данные состояний собеседника
202
221
  *
@@ -204,7 +223,7 @@ declare namespace External {
204
223
  * @param participantState
205
224
  * @param markers
206
225
  */
207
- function onRemoteParticipantState(userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers?: ExternalParticipantListMarkers): void;
226
+ function onRemoteParticipantState(userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null): void;
208
227
  /**
209
228
  * Изменился статус соединения собеседников
210
229
  *
@@ -230,7 +249,7 @@ declare namespace External {
230
249
  * @param userId
231
250
  * @param markers
232
251
  */
233
- function onRemoteRemoved(userId: ExternalParticipantId, markers?: ExternalParticipantListMarkers): void;
252
+ function onRemoteRemoved(userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null): void;
234
253
  /**
235
254
  * Изменилось состояние звонка
236
255
  *
@@ -282,7 +301,7 @@ declare namespace External {
282
301
  * @param markers
283
302
  * @param roomId ID сессионного зала или ничего в случае основного зала
284
303
  */
285
- function onPinnedParticipant(userId: ExternalParticipantId, unpin: boolean, markers?: ExternalParticipantListMarkers, roomId?: number | null): void;
304
+ function onPinnedParticipant(userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null): void;
286
305
  /**
287
306
  * Закрепляет/открепляет текущего пользователя у других собеседников
288
307
  *
@@ -411,13 +430,21 @@ declare namespace External {
411
430
  */
412
431
  function onAutoplayError(): void;
413
432
  /**
414
- * Изменилось состояние зала ожидания
433
+ * Изменилось состояние зала ожидания/зала в режиме Audience
415
434
  *
416
435
  * @param eventType
417
- * @param totalCount Количество ожидающих
436
+ * @param totalCount Количество ожидающих/слушателей
418
437
  * @param firstParticipants Первые несколько ожидающих в зале
438
+ * @param addedParticipantIds Некоторое количество участников, добавленных в зал
439
+ * @param removedParticipantIds Некоторое количество участников, убранных из зала
440
+ */
441
+ function onChatRoomUpdated(eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]): void;
442
+ /**
443
+ * Участник повышен/разжалован в зале ожидания/зале в режиме Audience
444
+ *
445
+ * @param demoted участник разжалован
419
446
  */
420
- function onChatRoomUpdated(eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[]): void;
447
+ function onPromoted(demoted: boolean): void;
421
448
  /**
422
449
  * Получен микшированный аудио стрим.
423
450
  *
@@ -428,7 +455,7 @@ declare namespace External {
428
455
  * Получена новая ссылка на звонок
429
456
  * @param joinLink токен присоединения к звонку
430
457
  */
431
- function onJoinLinkChanged(joinLink: string): void;
458
+ function onJoinLinkChanged(joinLink: string | null): void;
432
459
  /**
433
460
  * Получено обновление по сессионным залам
434
461
  * @param updates
@@ -472,16 +499,30 @@ declare namespace External {
472
499
  * @param externalId Id пользователя
473
500
  */
474
501
  function onParticipantVmojiUpdate(externalId: ExternalParticipantId): void;
502
+ /**
503
+ * Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
504
+ * @param data Начальная информация по ASR
505
+ * @param roomId Id Комнаты
506
+ */
507
+ function onAsrSet(data: IAsrData | null, roomId: number | null): void;
475
508
  /**
476
509
  * Начата текстовая расшифровка звонка
477
510
  * @param initiatorId Id пользователя, запустившего расшифровку звонка
478
511
  * @param movieId Id расшифровки
512
+ * @param roomId Id Комнаты
479
513
  */
480
- function onAsrStarted(initiatorId: ExternalParticipantId, movieId: number): void;
514
+ function onAsrStarted(initiatorId: ExternalParticipantId, movieId: number, roomId: number | null): void;
481
515
  /**
482
516
  * Закончена текстовая расшифровка звонка
517
+ * @param roomId Id Комнаты
483
518
  */
484
- function onAsrStopped(): void;
519
+ function onAsrStopped(roomId: number | null): void;
485
520
  function onAsrTranscription(id: ExternalParticipantId, text: string, timestamp: number, duration: number): void;
521
+ /**
522
+ * Одобрено повышение пользователя в зеле ожидания/зале в режиме Audience
523
+ *
524
+ * @param adminParticipantId админ, одобривший повышение
525
+ */
526
+ function onPromotionApproved(adminParticipantId: ExternalParticipantId): void;
486
527
  }
487
528
  export default External;