@vkontakte/calls-sdk 2.6.2-dev.abf49ca.0 → 2.6.2-dev.ac5839e.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 +77 -18
  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 +43 -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/ConversationOption.d.ts +2 -1
  24. package/enums/LiveStatus.d.ts +7 -0
  25. package/enums/MediaOption.d.ts +3 -1
  26. package/enums/RoomsEventType.d.ts +6 -0
  27. package/enums/SignalingCommandType.d.ts +12 -1
  28. package/enums/SignalingNotification.d.ts +8 -1
  29. package/package.json +1 -1
  30. package/static/External.d.ts +42 -5
  31. package/static/Params.d.ts +67 -10
  32. package/static/Polyfills.d.ts +7 -0
  33. package/static/Utils.d.ts +2 -1
  34. package/static/WebRTCUtils.d.ts +44 -11
  35. package/static/WebRTCUtils.test.d.ts +1 -0
  36. package/types/Asr.d.ts +5 -0
  37. package/types/Conversation.d.ts +1 -0
  38. package/types/ConversationFeature.d.ts +3 -0
  39. package/types/Feedback.d.ts +22 -0
  40. package/types/MediaSettings.d.ts +4 -0
  41. package/types/MovieShare.d.ts +18 -2
  42. package/types/Participant.d.ts +1 -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 +57 -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
@@ -45,9 +45,16 @@ import ParticipantLayout, { Layout, StopStream } from './types/ParticipantLayout
45
45
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
46
46
  import ParticipantPriority from './types/ParticipantPriority';
47
47
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
48
+ import { Room, RoomsUpdate, RoomParticipantUpdate } from './types/Room';
49
+ import RoomsEventType from './enums/RoomsEventType';
48
50
  import SignalingMessage from './types/SignalingMessage';
49
51
  import { WaitingHallResponse } from './types/WaitingHall';
50
- import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview } from './types/MovieShare';
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';
51
58
  /**
52
59
  * Информация о текущем браузере
53
60
  */
@@ -186,9 +193,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
186
193
  * @param payload Дополнительные данные для передачи на сервер
187
194
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
188
195
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
196
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
189
197
  */
190
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
191
- 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>;
192
200
  /**
193
201
  * Обработать пуш о входящем звонке
194
202
  *
@@ -241,8 +249,10 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
241
249
  * @param joinLink Токен комнаты
242
250
  * @param mediaOptions Нужно ли включать камеру и микрофон
243
251
  * @param anonymToken Токен анонимной авторизации
252
+ * @param observedIds
253
+ * @param payload
244
254
  */
245
- 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>;
246
256
  /**
247
257
  * Завершить текущий разговор
248
258
  */
@@ -276,6 +286,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
276
286
  * @param state Включить или выключить
277
287
  */
278
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>;
279
296
  /**
280
297
  * Позволяет установить кастомный стрим для видео
281
298
  * например для стрима из canvas, с наложением изображений
@@ -343,9 +360,12 @@ export declare function grantRolesInternal(uid: OkUserId, roles: UserRole[], rev
343
360
  * @param externalId Внешний ID пользователя (если не указано, сработает на всех)
344
361
  * @param muteStates Состояние устройств пользователя
345
362
  * @param requestedMedia Попросить пользователя включить устройство
363
+ * @param roomId ID сессионного зала, либо ничего если в основном зале
346
364
  */
347
- export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[]): Promise<void>;
348
- 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): void;
368
+ export declare function changeRecordInfoForRoom(roomId?: number): Promise<void>;
349
369
  /**
350
370
  * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль)
351
371
  *
@@ -395,9 +415,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
395
415
  *
396
416
  * @param payload Дополнительные данные для передачи на сервер
397
417
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
418
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
398
419
  * @returns Токен комнаты
399
420
  */
400
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
421
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
422
+ onlyAdminCanShareMovie?: boolean;
423
+ }): Promise<string>;
401
424
  /**
402
425
  * Создать токен комнаты для подключения по ссылке к существующему звонку
403
426
  *
@@ -426,8 +449,8 @@ export declare function setVolume(volume: number): void;
426
449
  * @param enabled
427
450
  */
428
451
  export declare function forceRelayPolicy(enabled: boolean): void;
429
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null): Promise<SignalingMessage>;
430
- export declare function stopStream(): Promise<SignalingMessage>;
452
+ 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>;
453
+ export declare function stopStream(roomId?: number | null): Promise<SignalingMessage>;
431
454
  /**
432
455
  * Устанавливает роль участника в запись звонка
433
456
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -438,8 +461,9 @@ export declare function stopStream(): Promise<SignalingMessage>;
438
461
  *
439
462
  * @param externalId Внешний ID пользователя
440
463
  * @param role Роль, если null, то роль удалится
464
+ * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
441
465
  */
442
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null): Promise<void>;
466
+ export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
443
467
  export declare function getStreamInfo(): Promise<{
444
468
  movieId: any;
445
469
  preview: any;
@@ -447,7 +471,7 @@ export declare function getStreamInfo(): Promise<{
447
471
  /**
448
472
  * Добавляет видео/лайв в звонок
449
473
  *
450
- * @param movieId
474
+ * @param params
451
475
  */
452
476
  export declare function addMovie(params: IAddMovieParams): Promise<{
453
477
  movieId: string;
@@ -456,18 +480,43 @@ export declare function addMovie(params: IAddMovieParams): Promise<{
456
480
  /**
457
481
  * Изменить видео/лайв в звонке
458
482
  *
459
- * @param movieId
460
- * @param gain
461
- * @param offset
462
- * @param pause
483
+ * @param params
463
484
  */
464
- export declare function updateMovie(movieId: string, gain?: number, offset?: number, pause?: boolean): Promise<void>;
485
+ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
465
486
  /**
466
487
  * Удалить видео/лайв из звонка
467
488
  *
468
489
  * @param movieId
469
490
  */
470
491
  export declare function removeMovie(movieId: string): Promise<void>;
492
+ /**
493
+ * Обновить комнаты
494
+ * @param rooms id в случае обновления комнаты
495
+ * @param assignRandomly рандомно назначить участников комнаты из свободных в соответствии с participantCount
496
+ */
497
+ export declare function updateRooms(rooms: {
498
+ id?: number;
499
+ name?: string;
500
+ participantCount?: number;
501
+ active?: boolean;
502
+ }[], assignRandomly: boolean): Promise<void>;
503
+ /**
504
+ * Активировать комнаты
505
+ * @param roomIds
506
+ * @param deactivate
507
+ */
508
+ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
509
+ /**
510
+ * Cменить комнату
511
+ * @param toRoomId
512
+ * @param participantId
513
+ */
514
+ export declare function switchRoom(toRoomId?: number, participantId?: string | ExternalParticipantId | null): Promise<void>;
515
+ /**
516
+ * Удалить комнаты
517
+ * @param roomIds
518
+ */
519
+ export declare function removeRooms(roomIds: number[]): Promise<void>;
471
520
  /**
472
521
  * Устанавливает интервал обновления статистики и вызова `onStatistics`
473
522
  *
@@ -517,15 +566,25 @@ export declare function getWaitingHall(pageMarker?: string | null, count?: numbe
517
566
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
518
567
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
519
568
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
569
+ export declare function feedback(key: string): Promise<SignalingMessage>;
570
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
520
571
  /**
521
572
  * Удаляет записи истории звонков
522
573
  *
523
574
  * @param recordIds Идентификаторы записей истории
524
575
  */
525
576
  export declare function removeHistoryRecords(recordIds: number[]): Promise<void>;
577
+ /**
578
+ * Начинает текстовую расшифровку звонка
579
+ */
580
+ export declare function startAsr(): Promise<void>;
581
+ /**
582
+ * Заканчивает текстовую расшифровку звонка
583
+ */
584
+ export declare function stopAsr(): Promise<void>;
526
585
  /**
527
586
  * Версия SDK
528
587
  */
529
588
  export declare function version(): string;
530
- 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, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, };
531
- 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, };
589
+ 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, };
590
+ 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,13 +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';
14
- import { IAddMovieParams, ISharedMovieState } from '../types/MovieShare';
15
+ import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
15
16
  import MuteStates from '../types/MuteStates';
16
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
17
18
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
18
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
19
20
  import SignalingMessage from '../types/SignalingMessage';
20
21
  import { WaitingParticipantId } from '../types/WaitingHall';
22
+ import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
21
23
  /**
22
24
  * Параметры добавления пользователя в звонок
23
25
  */
@@ -58,19 +60,25 @@ export default abstract class BaseSignaling extends EventEmitter {
58
60
  [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
59
61
  }): Promise<SignalingMessage | void>;
60
62
  abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
61
- abstract updateMovie(data: ISharedMovieState): Promise<SignalingMessage>;
63
+ abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
62
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>;
63
69
  abstract startStream(data: any): Promise<SignalingMessage>;
64
- abstract stopStream(): Promise<SignalingMessage>;
65
- 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>;
66
72
  abstract getRecordStatus(): Promise<SignalingMessage>;
67
73
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
68
74
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;
75
+ abstract reportSharingStat(report: SharingStatReport): Promise<SignalingMessage>;
69
76
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
70
77
  abstract chatHistory(count: number): Promise<SignalingMessage>;
71
78
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
72
79
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
73
- 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>;
74
82
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
75
83
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
76
84
  abstract changeOptions(changes: {
@@ -78,11 +86,14 @@ export default abstract class BaseSignaling extends EventEmitter {
78
86
  }): Promise<SignalingMessage>;
79
87
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
80
88
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
89
+ abstract feedback(key: string): Promise<SignalingMessage>;
81
90
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
82
91
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
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;