@vkontakte/calls-sdk 2.6.2-dev.c1501b7.0 → 2.6.2-dev.c3887cf.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 (54) hide show
  1. package/CallsSDK.d.ts +74 -15
  2. package/abstract/BaseApi.d.ts +7 -3
  3. package/abstract/BaseSignaling.d.ts +17 -5
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +42 -9
  7. package/classes/MediaSource.d.ts +7 -2
  8. package/classes/ProducerCommandSerializationService.d.ts +3 -1
  9. package/classes/codec/IEncoder.d.ts +3 -0
  10. package/classes/codec/LibVPxEncoder.d.ts +4 -1
  11. package/classes/codec/Types.d.ts +6 -1
  12. package/classes/codec/WebCodecsEncoder.d.ts +4 -1
  13. package/classes/screenshare/PacketHistory.d.ts +30 -0
  14. package/classes/screenshare/PacketHistory.test.d.ts +1 -0
  15. package/classes/screenshare/ScreenCaptureSender.d.ts +15 -1
  16. package/classes/screenshare/ScreenCongestionControl.d.ts +25 -0
  17. package/classes/screenshare/SharingStatReport.d.ts +6 -0
  18. package/classes/screenshare/Utils.d.ts +5 -0
  19. package/classes/transport/ServerTransport.d.ts +2 -0
  20. package/default/Api.d.ts +8 -3
  21. package/default/Api.test.d.ts +1 -0
  22. package/default/Signaling.d.ts +17 -5
  23. package/enums/ConversationFeature.d.ts +2 -1
  24. package/enums/ConversationOption.d.ts +3 -1
  25. package/enums/HangupType.d.ts +3 -1
  26. package/enums/LiveStatus.d.ts +7 -0
  27. package/enums/MediaOption.d.ts +3 -1
  28. package/enums/RoomsEventType.d.ts +6 -0
  29. package/enums/SignalingCommandType.d.ts +12 -1
  30. package/enums/SignalingNotification.d.ts +12 -1
  31. package/package.json +1 -1
  32. package/static/External.d.ts +99 -5
  33. package/static/Params.d.ts +101 -3
  34. package/static/Polyfills.d.ts +6 -0
  35. package/static/Utils.d.ts +3 -2
  36. package/static/WebRTCUtils.d.ts +2 -1
  37. package/types/Asr.d.ts +5 -0
  38. package/types/Conversation.d.ts +13 -0
  39. package/types/ConversationFeature.d.ts +3 -0
  40. package/types/ConversationParams.d.ts +1 -0
  41. package/types/ExternalId.d.ts +2 -0
  42. package/types/Feedback.d.ts +22 -0
  43. package/types/MediaSettings.d.ts +5 -1
  44. package/types/MovieShare.d.ts +58 -0
  45. package/types/Participant.d.ts +3 -0
  46. package/types/ParticipantListChunk.d.ts +2 -0
  47. package/types/ParticipantStreamDescription.d.ts +2 -1
  48. package/types/Room.d.ts +72 -0
  49. package/types/SignalingMessage.d.ts +67 -0
  50. package/types/WaitingHall.d.ts +2 -8
  51. package/utils/ArrayDequeue.d.ts +24 -0
  52. package/utils/ArrayDequeue.spec.d.ts +1 -0
  53. package/utils/Conversation.d.ts +2 -0
  54. package/worker/LibVPxEncoderWorker.d.ts +1 -1
package/CallsSDK.d.ts CHANGED
@@ -9,6 +9,7 @@ import { ConversationData } from './classes/Conversation';
9
9
  import HangupReason, { HangupReasonData } from './classes/HangupReason';
10
10
  import { MediaTrackKind } from './classes/MediaSource';
11
11
  import { StatResult } from './classes/transport/Statistics';
12
+ import { TransportTopology } from './classes/transport/Transport';
12
13
  import Api from './default/Api';
13
14
  import Signaling from './default/Signaling';
14
15
  import CallDirection from './enums/CallDirection';
@@ -44,8 +45,16 @@ import ParticipantLayout, { Layout, StopStream } from './types/ParticipantLayout
44
45
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
45
46
  import ParticipantPriority from './types/ParticipantPriority';
46
47
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
48
+ import { Room, RoomsUpdate, RoomParticipantUpdate } from './types/Room';
49
+ import RoomsEventType from './enums/RoomsEventType';
47
50
  import SignalingMessage from './types/SignalingMessage';
48
51
  import { WaitingHallResponse } from './types/WaitingHall';
52
+ import { IFeedbackExternal } from './types/Feedback';
53
+ import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IUpdateMovieData } from './types/MovieShare';
54
+ import ConversationFeature from './enums/ConversationFeature';
55
+ import { IFeaturesPerRole } from './types/ConversationFeature';
56
+ import { ArrayDequeue } from './utils/ArrayDequeue';
57
+ import { AsrInfo } from './types/Asr';
49
58
  /**
50
59
  * Информация о текущем браузере
51
60
  */
@@ -184,9 +193,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
184
193
  * @param payload Дополнительные данные для передачи на сервер
185
194
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
186
195
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
196
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
187
197
  */
188
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
189
- export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
198
+ export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
199
+ export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
190
200
  /**
191
201
  * Обработать пуш о входящем звонке
192
202
  *
@@ -240,7 +250,7 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
240
250
  * @param mediaOptions Нужно ли включать камеру и микрофон
241
251
  * @param anonymToken Токен анонимной авторизации
242
252
  */
243
- export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[]): Promise<ConversationData>;
253
+ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationData>;
244
254
  /**
245
255
  * Завершить текущий разговор
246
256
  */
@@ -274,6 +284,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
274
284
  * @param state Включить или выключить
275
285
  */
276
286
  export declare function captureScreen(state: boolean): Promise<void>;
287
+ /**
288
+ * Включить/выключить захват экрана
289
+ *
290
+ * @param screenState Включить или выключить захват экрана.
291
+ * @param audioShareState Включить или выключить захват звука. Может быть использован только вместе с захватом экрана.
292
+ */
293
+ export declare function captureScreenAndAudio(screenState: boolean, audioShareState: boolean): Promise<void>;
277
294
  /**
278
295
  * Позволяет установить кастомный стрим для видео
279
296
  * например для стрима из canvas, с наложением изображений
@@ -341,9 +358,10 @@ export declare function grantRolesInternal(uid: OkUserId, roles: UserRole[], rev
341
358
  * @param externalId Внешний ID пользователя (если не указано, сработает на всех)
342
359
  * @param muteStates Состояние устройств пользователя
343
360
  * @param requestedMedia Попросить пользователя включить устройство
361
+ * @param roomId ID сессионного зала, либо ничего если в основном зале
344
362
  */
345
- export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[]): Promise<void>;
346
- export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number): Promise<void>;
363
+ export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number): Promise<void>;
364
+ export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number, roomId?: number): Promise<void>;
347
365
  /**
348
366
  * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль)
349
367
  *
@@ -393,9 +411,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
393
411
  *
394
412
  * @param payload Дополнительные данные для передачи на сервер
395
413
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
414
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
396
415
  * @returns Токен комнаты
397
416
  */
398
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
417
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
418
+ onlyAdminCanShareMovie?: boolean;
419
+ }): Promise<string>;
399
420
  /**
400
421
  * Создать токен комнаты для подключения по ссылке к существующему звонку
401
422
  *
@@ -424,8 +445,8 @@ export declare function setVolume(volume: number): void;
424
445
  * @param enabled
425
446
  */
426
447
  export declare function forceRelayPolicy(enabled: boolean): void;
427
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null): Promise<SignalingMessage>;
428
- export declare function stopStream(): Promise<SignalingMessage>;
448
+ export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<SignalingMessage>;
449
+ export declare function stopStream(roomId?: number | null): Promise<SignalingMessage>;
429
450
  /**
430
451
  * Устанавливает роль участника в запись звонка
431
452
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -436,8 +457,9 @@ export declare function stopStream(): Promise<SignalingMessage>;
436
457
  *
437
458
  * @param externalId Внешний ID пользователя
438
459
  * @param role Роль, если null, то роль удалится
460
+ * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
439
461
  */
440
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null): Promise<void>;
462
+ export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
441
463
  export declare function getStreamInfo(): Promise<{
442
464
  movieId: any;
443
465
  preview: any;
@@ -447,23 +469,50 @@ export declare function getStreamInfo(): Promise<{
447
469
  *
448
470
  * @param movieId
449
471
  */
450
- export declare function addMovie(movieId: string): Promise<{
472
+ export declare function addMovie(params: IAddMovieParams): Promise<{
451
473
  movieId: string;
452
474
  streamType: string;
453
475
  }>;
454
476
  /**
455
477
  * Изменить видео/лайв в звонке
456
478
  *
457
- * @param movieId
458
- * @param gain
479
+ * @param params
459
480
  */
460
- export declare function updateMovie(movieId: string, gain?: number, offset?: string, pause?: boolean): Promise<void>;
481
+ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
461
482
  /**
462
483
  * Удалить видео/лайв из звонка
463
484
  *
464
485
  * @param movieId
465
486
  */
466
487
  export declare function removeMovie(movieId: string): Promise<void>;
488
+ /**
489
+ * Обновить комнаты
490
+ * @param rooms id в случае обновления комнаты
491
+ * @param assignRandomly рандомно назначить участников комнаты из свободных в соответствии с participantCount
492
+ */
493
+ export declare function updateRooms(rooms: {
494
+ id?: number;
495
+ name?: string;
496
+ participantCount?: number;
497
+ active?: boolean;
498
+ }[], assignRandomly: boolean): Promise<void>;
499
+ /**
500
+ * Активировать комнаты
501
+ * @param roomIds
502
+ * @param deactivate
503
+ */
504
+ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
505
+ /**
506
+ * Cменить комнату
507
+ * @param toRoomId
508
+ * @param participantId
509
+ */
510
+ export declare function switchRoom(toRoomId?: number, participantId?: string | ExternalParticipantId | null): Promise<void>;
511
+ /**
512
+ * Удалить комнаты
513
+ * @param roomIds
514
+ */
515
+ export declare function removeRooms(roomIds: number[]): Promise<void>;
467
516
  /**
468
517
  * Устанавливает интервал обновления статистики и вызова `onStatistics`
469
518
  *
@@ -513,15 +562,25 @@ export declare function getWaitingHall(pageMarker?: string | null, count?: numbe
513
562
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
514
563
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
515
564
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
565
+ export declare function feedback(key: string): Promise<SignalingMessage>;
566
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
516
567
  /**
517
568
  * Удаляет записи истории звонков
518
569
  *
519
570
  * @param recordIds Идентификаторы записей истории
520
571
  */
521
572
  export declare function removeHistoryRecords(recordIds: number[]): Promise<void>;
573
+ /**
574
+ * Начинает текстовую расшифровку звонка
575
+ */
576
+ export declare function startAsr(): Promise<void>;
577
+ /**
578
+ * Заканчивает текстовую расшифровку звонка
579
+ */
580
+ export declare function stopAsr(): Promise<void>;
522
581
  /**
523
582
  * Версия SDK
524
583
  */
525
584
  export declare function version(): string;
526
- export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, };
527
- export { Api, BaseApi, BaseLogger, BaseSignaling, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, Utils, };
585
+ export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, AsrInfo, };
586
+ export { Api, BaseApi, BaseLogger, BaseSignaling, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, Utils, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, };
@@ -19,8 +19,12 @@ export default abstract class BaseApi {
19
19
  abstract init(): void;
20
20
  abstract authorize(): Promise<void>;
21
21
  abstract userId(participantId: CompositeUserId): Promise<ExternalId>;
22
- abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
23
- abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
22
+ abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
23
+ onlyAdminCanShareMovie?: boolean;
24
+ }): Promise<ConversationResponse>;
25
+ abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
26
+ onlyAdminCanShareMovie?: boolean;
27
+ }): Promise<ConversationResponse>;
24
28
  abstract joinConversation(conversationId: string, isVideo?: boolean, chatId?: string): Promise<ConversationResponse>;
25
29
  createJoinLink(conversationId: string): Promise<{
26
30
  join_link: string;
@@ -29,7 +33,7 @@ export default abstract class BaseApi {
29
33
  success: boolean;
30
34
  }>;
31
35
  getAnonymTokenByLink(joinLink: string, username?: string): Promise<string>;
32
- abstract joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[]): Promise<ConversationResponse>;
36
+ abstract joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationResponse>;
33
37
  abstract getConversationParams(conversationId?: string): Promise<ConversationParams>;
34
38
  abstract getUserId(): OkUserId | null;
35
39
  abstract setUserId(userId: OkUserId): void;
@@ -2,6 +2,7 @@ import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { PerfStatReport } from '../classes/transport/PerfStatReporter';
4
4
  import { TransportTopology } from '../classes/transport/Transport';
5
+ import ConversationFeature from '../enums/ConversationFeature';
5
6
  import ConversationOption from '../enums/ConversationOption';
6
7
  import MediaOption from '../enums/MediaOption';
7
8
  import RecordRole from '../enums/RecordRole';
@@ -11,12 +12,14 @@ import { JSONObject } from '../static/Json';
11
12
  import ConversationResponse from '../types/ConversationResponse';
12
13
  import MediaModifiers from '../types/MediaModifiers';
13
14
  import MediaSettings from '../types/MediaSettings';
15
+ import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
14
16
  import MuteStates from '../types/MuteStates';
15
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
16
18
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
17
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
18
20
  import SignalingMessage from '../types/SignalingMessage';
19
21
  import { WaitingParticipantId } from '../types/WaitingHall';
22
+ import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
20
23
  /**
21
24
  * Параметры добавления пользователя в звонок
22
25
  */
@@ -56,20 +59,26 @@ export default abstract class BaseSignaling extends EventEmitter {
56
59
  abstract updateDisplayLayout(layouts: {
57
60
  [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
58
61
  }): Promise<SignalingMessage | void>;
59
- abstract addMovie(data: any): Promise<SignalingMessage>;
60
- abstract updateMovie(data: any): Promise<SignalingMessage>;
62
+ abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
63
+ abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
61
64
  abstract removeMovie(data: any): Promise<SignalingMessage>;
65
+ abstract updateRooms(rooms: Record<any, any>[], assignRandomly: boolean): Promise<SignalingMessage>;
66
+ abstract activateRooms(roomIds: number[], deactivate: boolean): Promise<SignalingMessage>;
67
+ abstract switchRoom(toRoomId?: number, participantId?: ParticipantId): Promise<SignalingMessage>;
68
+ abstract removeRooms(roomIds: number[]): Promise<SignalingMessage>;
62
69
  abstract startStream(data: any): Promise<SignalingMessage>;
63
- abstract stopStream(): Promise<SignalingMessage>;
64
- abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null): Promise<SignalingMessage>;
70
+ abstract stopStream(data: any): Promise<SignalingMessage>;
71
+ abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null, roomId: number | null): Promise<SignalingMessage>;
65
72
  abstract getRecordStatus(): Promise<SignalingMessage>;
66
73
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
67
74
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;
75
+ abstract reportSharingStat(report: SharingStatReport): Promise<SignalingMessage>;
68
76
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
69
77
  abstract chatHistory(count: number): Promise<SignalingMessage>;
70
78
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
71
79
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
72
- abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[]): Promise<SignalingMessage>;
80
+ abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[], roomId?: number): Promise<SignalingMessage>;
81
+ abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
73
82
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
74
83
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
75
84
  abstract changeOptions(changes: {
@@ -77,11 +86,14 @@ export default abstract class BaseSignaling extends EventEmitter {
77
86
  }): Promise<SignalingMessage>;
78
87
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
79
88
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
89
+ abstract feedback(key: string): Promise<SignalingMessage>;
80
90
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
81
91
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
82
92
  abstract useCommandDataChannel(status: boolean): void;
83
93
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
84
94
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
95
+ abstract startAsr(): Promise<SignalingMessage>;
96
+ abstract stopAsr(): Promise<SignalingMessage>;
85
97
  get ready(): boolean;
86
98
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
87
99
  requestRealloc(): void;