@vkontakte/calls-sdk 2.6.2-dev.c83d2bc.0 → 2.6.2-dev.c8d6e43.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 (50) hide show
  1. package/CallsSDK.d.ts +76 -16
  2. package/abstract/BaseApi.d.ts +7 -3
  3. package/abstract/BaseSignaling.d.ts +16 -5
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +37 -9
  7. package/classes/MediaSource.d.ts +7 -2
  8. package/classes/ProducerCommandSerializationService.d.ts +2 -0
  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 -1
  20. package/default/Api.d.ts +7 -3
  21. package/default/Signaling.d.ts +16 -5
  22. package/enums/ConversationFeature.d.ts +2 -1
  23. package/enums/LiveStatus.d.ts +7 -0
  24. package/enums/MediaOption.d.ts +3 -1
  25. package/enums/RoomsEventType.d.ts +6 -0
  26. package/enums/SignalingCommandType.d.ts +11 -1
  27. package/enums/SignalingNotification.d.ts +11 -1
  28. package/package.json +1 -1
  29. package/static/External.d.ts +93 -6
  30. package/static/Params.d.ts +97 -9
  31. package/static/Polyfills.d.ts +7 -0
  32. package/static/Utils.d.ts +2 -1
  33. package/static/WebRTCUtils.d.ts +44 -11
  34. package/static/WebRTCUtils.test.d.ts +1 -0
  35. package/types/Asr.d.ts +5 -0
  36. package/types/Conversation.d.ts +1 -0
  37. package/types/ConversationFeature.d.ts +3 -0
  38. package/types/ConversationParams.d.ts +1 -0
  39. package/types/ExternalId.d.ts +2 -0
  40. package/types/MediaSettings.d.ts +5 -1
  41. package/types/MovieShare.d.ts +58 -0
  42. package/types/Participant.d.ts +3 -0
  43. package/types/ParticipantListChunk.d.ts +2 -0
  44. package/types/ParticipantStreamDescription.d.ts +2 -1
  45. package/types/Room.d.ts +77 -0
  46. package/types/SignalingMessage.d.ts +62 -0
  47. package/types/WaitingHall.d.ts +2 -8
  48. package/utils/ArrayDequeue.d.ts +24 -0
  49. package/utils/ArrayDequeue.spec.d.ts +1 -0
  50. 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,9 +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';
49
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';
50
58
  /**
51
59
  * Информация о текущем браузере
52
60
  */
@@ -185,9 +193,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
185
193
  * @param payload Дополнительные данные для передачи на сервер
186
194
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
187
195
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
196
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
188
197
  */
189
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
190
- 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>;
191
200
  /**
192
201
  * Обработать пуш о входящем звонке
193
202
  *
@@ -240,8 +249,10 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
240
249
  * @param joinLink Токен комнаты
241
250
  * @param mediaOptions Нужно ли включать камеру и микрофон
242
251
  * @param anonymToken Токен анонимной авторизации
252
+ * @param observedIds
253
+ * @param payload
243
254
  */
244
- export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[]): Promise<ConversationData>;
255
+ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationData>;
245
256
  /**
246
257
  * Завершить текущий разговор
247
258
  */
@@ -275,6 +286,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
275
286
  * @param state Включить или выключить
276
287
  */
277
288
  export declare function captureScreen(state: boolean): Promise<void>;
289
+ /**
290
+ * Включить/выключить захват экрана
291
+ *
292
+ * @param screenState Включить или выключить захват экрана.
293
+ * @param audioShareState Включить или выключить захват звука. Может быть использован только вместе с захватом экрана.
294
+ */
295
+ export declare function captureScreenAndAudio(screenState: boolean, audioShareState: boolean): Promise<void>;
278
296
  /**
279
297
  * Позволяет установить кастомный стрим для видео
280
298
  * например для стрима из canvas, с наложением изображений
@@ -342,9 +360,11 @@ export declare function grantRolesInternal(uid: OkUserId, roles: UserRole[], rev
342
360
  * @param externalId Внешний ID пользователя (если не указано, сработает на всех)
343
361
  * @param muteStates Состояние устройств пользователя
344
362
  * @param requestedMedia Попросить пользователя включить устройство
363
+ * @param roomId ID сессионного зала, либо ничего если в основном зале
345
364
  */
346
- export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[]): Promise<void>;
347
- export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number): Promise<void>;
365
+ export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number): Promise<void>;
366
+ export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number, roomId?: number): Promise<void>;
367
+ export declare function applyMuteStates(muteStates: MuteStates, mediaOptions: MediaOption[], roomId?: number): Promise<void>;
348
368
  /**
349
369
  * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль)
350
370
  *
@@ -394,9 +414,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
394
414
  *
395
415
  * @param payload Дополнительные данные для передачи на сервер
396
416
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
417
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
397
418
  * @returns Токен комнаты
398
419
  */
399
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
420
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
421
+ onlyAdminCanShareMovie?: boolean;
422
+ }): Promise<string>;
400
423
  /**
401
424
  * Создать токен комнаты для подключения по ссылке к существующему звонку
402
425
  *
@@ -425,8 +448,8 @@ export declare function setVolume(volume: number): void;
425
448
  * @param enabled
426
449
  */
427
450
  export declare function forceRelayPolicy(enabled: boolean): void;
428
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null): Promise<SignalingMessage>;
429
- export declare function stopStream(): Promise<SignalingMessage>;
451
+ 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>;
452
+ export declare function stopStream(roomId?: number | null): Promise<SignalingMessage>;
430
453
  /**
431
454
  * Устанавливает роль участника в запись звонка
432
455
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -437,8 +460,9 @@ export declare function stopStream(): Promise<SignalingMessage>;
437
460
  *
438
461
  * @param externalId Внешний ID пользователя
439
462
  * @param role Роль, если null, то роль удалится
463
+ * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
440
464
  */
441
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null): Promise<void>;
465
+ export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
442
466
  export declare function getStreamInfo(): Promise<{
443
467
  movieId: any;
444
468
  preview: any;
@@ -446,25 +470,52 @@ export declare function getStreamInfo(): Promise<{
446
470
  /**
447
471
  * Добавляет видео/лайв в звонок
448
472
  *
449
- * @param movieId
473
+ * @param params
450
474
  */
451
- export declare function addMovie(movieId: string): Promise<{
475
+ export declare function addMovie(params: IAddMovieParams): Promise<{
452
476
  movieId: string;
453
477
  streamType: string;
454
478
  }>;
455
479
  /**
456
480
  * Изменить видео/лайв в звонке
457
481
  *
458
- * @param movieId
459
- * @param gain
482
+ * @param params
460
483
  */
461
- export declare function updateMovie(movieId: string, gain?: number, offset?: string, pause?: boolean): Promise<void>;
484
+ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
462
485
  /**
463
486
  * Удалить видео/лайв из звонка
464
487
  *
465
488
  * @param movieId
466
489
  */
467
490
  export declare function removeMovie(movieId: string): Promise<void>;
491
+ /**
492
+ * Обновить комнаты
493
+ * @param rooms id в случае обновления комнаты
494
+ * @param assignRandomly рандомно назначить участников комнаты из свободных в соответствии с participantCount
495
+ */
496
+ export declare function updateRooms(rooms: {
497
+ id?: number;
498
+ name?: string;
499
+ participantCount?: number;
500
+ active?: boolean;
501
+ }[], assignRandomly: boolean): Promise<void>;
502
+ /**
503
+ * Активировать комнаты
504
+ * @param roomIds
505
+ * @param deactivate
506
+ */
507
+ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
508
+ /**
509
+ * Cменить комнату
510
+ * @param toRoomId
511
+ * @param participantId
512
+ */
513
+ export declare function switchRoom(toRoomId?: number, participantId?: string | ExternalParticipantId | null): Promise<void>;
514
+ /**
515
+ * Удалить комнаты
516
+ * @param roomIds
517
+ */
518
+ export declare function removeRooms(roomIds: number[]): Promise<void>;
468
519
  /**
469
520
  * Устанавливает интервал обновления статистики и вызова `onStatistics`
470
521
  *
@@ -515,15 +566,24 @@ export declare function promoteParticipant(externalId: ExternalId, demote?: bool
515
566
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
516
567
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
517
568
  export declare function feedback(key: string): Promise<SignalingMessage>;
569
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
518
570
  /**
519
571
  * Удаляет записи истории звонков
520
572
  *
521
573
  * @param recordIds Идентификаторы записей истории
522
574
  */
523
575
  export declare function removeHistoryRecords(recordIds: number[]): Promise<void>;
576
+ /**
577
+ * Начинает текстовую расшифровку звонка
578
+ */
579
+ export declare function startAsr(): Promise<void>;
580
+ /**
581
+ * Заканчивает текстовую расшифровку звонка
582
+ */
583
+ export declare function stopAsr(): Promise<void>;
524
584
  /**
525
585
  * Версия SDK
526
586
  */
527
587
  export declare function version(): string;
528
- 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, };
529
- 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, };
588
+ 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, };
589
+ 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: {
@@ -83,6 +92,8 @@ export default abstract class BaseSignaling extends EventEmitter {
83
92
  abstract useCommandDataChannel(status: boolean): void;
84
93
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
85
94
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
95
+ abstract startAsr(): Promise<SignalingMessage>;
96
+ abstract stopAsr(): Promise<SignalingMessage>;
86
97
  get ready(): boolean;
87
98
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
88
99
  requestRealloc(): void;