@vkontakte/calls-sdk 2.8.11-dev.3d9bb708.0 → 2.8.11-dev.41bc9113.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 (72) hide show
  1. package/CallsSDK.d.ts +51 -23
  2. package/abstract/BaseApi.d.ts +3 -5
  3. package/abstract/BaseSignaling.d.ts +5 -7
  4. package/calls-sdk.cjs.js +16 -13
  5. package/calls-sdk.esm.js +11757 -13
  6. package/classes/AudioFix.d.ts +5 -1
  7. package/classes/AudioOutput.d.ts +5 -1
  8. package/classes/CallRegistry.d.ts +8 -1
  9. package/classes/Conversation.d.ts +14 -6
  10. package/classes/DebugInfo.d.ts +3 -0
  11. package/classes/DisplayLayoutRequester.d.ts +39 -0
  12. package/classes/ExternalIdCache.d.ts +19 -0
  13. package/classes/MediaSource.d.ts +11 -3
  14. package/classes/ParticipantIdRegistry.d.ts +3 -0
  15. package/classes/ProducerCommandSerializationService.d.ts +3 -0
  16. package/classes/SignalingActor.d.ts +3 -1
  17. package/classes/SpeakerDetector.d.ts +2 -1
  18. package/classes/SpecListener.d.ts +10 -1
  19. package/classes/StatsLogger.d.ts +29 -0
  20. package/classes/VideoEffectsFpsLimiter.d.ts +3 -0
  21. package/classes/asr/AsrReceiver.d.ts +3 -1
  22. package/classes/codec/LibVPxDecoder.d.ts +3 -0
  23. package/classes/codec/LibVPxEncoder.d.ts +3 -1
  24. package/classes/codec/WebCodecsDecoder.d.ts +3 -0
  25. package/classes/codec/WebCodecsEncoder.d.ts +3 -1
  26. package/classes/codec/WorkerBase.d.ts +5 -0
  27. package/classes/screenshare/BaseStreamBuilder.d.ts +4 -1
  28. package/classes/screenshare/CanvasRenderer.d.ts +3 -1
  29. package/classes/screenshare/ScreenCaptureReceiver.d.ts +7 -1
  30. package/classes/screenshare/ScreenCaptureSender.d.ts +5 -1
  31. package/classes/screenshare/ScreenCongestionControl.d.ts +3 -1
  32. package/classes/screenshare/StreamBuilder.d.ts +5 -1
  33. package/classes/screenshare/TrackGeneratorRenderer.d.ts +3 -1
  34. package/classes/screenshare/WebmBuilder.d.ts +3 -1
  35. package/classes/stat/CodecStatsAggregator.d.ts +7 -7
  36. package/classes/stat/ConversationStats.d.ts +21 -0
  37. package/classes/stat/StatAggregator.d.ts +6 -6
  38. package/classes/stat/StatFirstMediaReceived.d.ts +4 -1
  39. package/classes/stat/StatPings.d.ts +9 -9
  40. package/classes/stat/StatScreenShareFirstFrame.d.ts +3 -1
  41. package/classes/stat/StatSignalingCommands.d.ts +8 -8
  42. package/classes/transport/BaseTransport.d.ts +1 -1
  43. package/classes/transport/DirectStatReporter.d.ts +3 -1
  44. package/classes/transport/DirectTransport.d.ts +9 -1
  45. package/classes/transport/PerfStatReporter.d.ts +5 -1
  46. package/classes/transport/ServerTransport.d.ts +10 -2
  47. package/classes/transport/Transport.d.ts +11 -14
  48. package/default/Api.d.ts +4 -14
  49. package/default/Signaling.d.ts +15 -4
  50. package/enums/SignalingNotification.d.ts +2 -1
  51. package/enums/TransportState.d.ts +10 -0
  52. package/enums/TransportTopology.d.ts +5 -0
  53. package/package.json +1 -1
  54. package/static/Capabilities.d.ts +5 -0
  55. package/static/Debug.d.ts +27 -8
  56. package/static/External.d.ts +112 -61
  57. package/static/Params.d.ts +80 -60
  58. package/static/Utils.d.ts +3 -2
  59. package/static/WebRTCUtils.d.ts +6 -4
  60. package/types/Capabilities.d.ts +24 -0
  61. package/types/Conversation.d.ts +1 -1
  62. package/types/FastStart.d.ts +1 -0
  63. package/types/Participant.d.ts +1 -0
  64. package/types/ParticipantLayout.d.ts +33 -0
  65. package/types/PerfStatReporter.d.ts +2 -1
  66. package/types/SignalingMessage.d.ts +8 -1
  67. package/types/Statistics.d.ts +1 -1
  68. package/types/WebTransport.d.ts +1 -0
  69. package/utils/DebugStorage.d.ts +100 -1
  70. package/classes/Logger.d.ts +0 -41
  71. package/classes/stat/EventMetricsService.d.ts +0 -9
  72. package/static/ConversationDebugLogger.d.ts +0 -13
package/CallsSDK.d.ts CHANGED
@@ -6,11 +6,10 @@ import type { EffectVoiceChange } from '@vkontakte/calls-audio-effects';
6
6
  import type * as Vmoji from '@vkontakte/calls-vmoji';
7
7
  import BaseLogger from './abstract/BaseLogger';
8
8
  import { AddParticipantParams } from './abstract/BaseSignaling';
9
- import Conversation from './classes/Conversation';
10
9
  import HangupReason, { HangupReasonData, CustomError } from './classes/HangupReason';
11
10
  import { MediaTrackKind } from './classes/MediaSource';
12
11
  import { AudienceModeHandsResponse } from './types/AudienceMode';
13
- import { TransportTopology } from './classes/transport/Transport';
12
+ import TransportTopology from './enums/TransportTopology';
14
13
  import Api from './default/Api';
15
14
  import Signaling from './default/Signaling';
16
15
  import CallDirection from './enums/CallDirection';
@@ -31,6 +30,7 @@ import SignalingNotification from './enums/SignalingNotification';
31
30
  import UserRole from './enums/UserRole';
32
31
  import UserType from './enums/UserType';
33
32
  import { DebugMessageType } from './static/Debug';
33
+ import * as DebugStorage from './utils/DebugStorage';
34
34
  import { ParticipantStatus } from './static/External';
35
35
  import { JSONArray, JSONObject, JSONType } from './static/Json';
36
36
  import { ParamsObject } from './static/Params';
@@ -50,7 +50,7 @@ import { IAddMovieParams, IMovieMetaData, IMoviePreview, IOnRemoteMovieData, ISh
50
50
  import MuteStates, { IMuteParticipantInternalParams, IMuteParticipantParams } from './types/MuteStates';
51
51
  import { IAPIBaseUrl, IApiEnv } from './types/Params';
52
52
  import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantsStateList, ParticipantStateMapped, ParticipantStateData, ParticipantStateDataKey, ParticipantStateDataValue } from './types/Participant';
53
- import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
53
+ import ParticipantLayout, { DisplayLayoutRequest, Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
54
54
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
55
55
  import ParticipantPriority from './types/ParticipantPriority';
56
56
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
@@ -67,6 +67,7 @@ import { VmojiError } from './types/Vmoji';
67
67
  import { VolumeDetector } from './classes/VolumeDetector';
68
68
  import { FastStartHandler, FastStartParams } from './types/FastStart';
69
69
  import { FastJoinHandler, FastJoinParams, FastJoinResponse } from './types/FastJoin';
70
+ export type { CurrentLogItem, DebugLogGetParams, DebugLogSessionInfo, DebugLogStorageStats } from './utils/DebugStorage';
70
71
  /**
71
72
  * Информация о текущем браузере
72
73
  */
@@ -394,12 +395,6 @@ export declare function changePriorities(priorities: ParticipantPriority[]): Pro
394
395
  * @param externalId Внешний ID пользователя
395
396
  */
396
397
  export declare function changeParticipantState(state: ParticipantStateData, externalId?: ExternalId): Promise<void>;
397
- /**
398
- * Ставит звонок на удержание
399
- *
400
- * @param hold - true/false
401
- */
402
- export declare function hold(hold: boolean, conversationId?: string): Promise<void>;
403
398
  /**
404
399
  * Принудительно опустить руки участников в текущем сессионном зале админа
405
400
  */
@@ -411,6 +406,12 @@ export declare function putHandsDown(): Promise<void>;
411
406
  * @param layout Список приоритетов
412
407
  */
413
408
  export declare function updateDisplayLayout(layout: ParticipantLayout[]): Promise<void>;
409
+ /**
410
+ * Запрашивает стримы, которые клиент хочет получать для отображения.
411
+ *
412
+ * @param requests Полный список стримов, которые должны приходить на клиент
413
+ */
414
+ export declare function requestDisplayLayout(requests: DisplayLayoutRequest[]): Promise<void>;
414
415
  /**
415
416
  * Выдать или забрать роли в звонке пользователю
416
417
  *
@@ -562,16 +563,6 @@ export declare function stopStream(roomId?: number | null, remove?: boolean): Pr
562
563
  * @param roomId
563
564
  */
564
565
  export declare function publishStream(roomId?: number | null): Promise<undefined>;
565
- /**
566
- * Устанавливает роль участника в запись звонка
567
- * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
568
- * видны только те участники, у кого есть роль.
569
- * @param king участник показывается крупно в записи звонка (только один участник имеет такую роль)
570
- * @param pawns участник показывается в записи звонка
571
- * @param hideParticipantCount скрыть/показать количество невидимых участников
572
- * @param roomId комната
573
- */
574
- export declare function recordSetConf(king?: ExternalId, pawns?: ExternalId[], hideParticipantCount?: boolean, roomId?: number | null): Promise<void>;
575
566
  /**
576
567
  * Получить информацию о трансляции звонка
577
568
  */
@@ -642,6 +633,38 @@ export declare function debug(enabled: boolean): void;
642
633
  * @param args
643
634
  */
644
635
  export declare function debugMessage(type: DebugMessageType, ...args: any[]): void;
636
+ /**
637
+ * Локальные отладочные логи, сохраненные в браузере.
638
+ *
639
+ * Работает при включенном параметре `debugLog: true`.
640
+ * Логи хранятся в IndexedDB: последние 10 звонков, максимум 25 МБ суммарно.
641
+ */
642
+ export declare const debugLogs: {
643
+ /**
644
+ * Возвращает список сохраненных локальных сессий логирования.
645
+ */
646
+ list: typeof DebugStorage.list;
647
+ /**
648
+ * Возвращает логи конкретного звонка вместе с глобальным контекстом SDK.
649
+ */
650
+ get: typeof DebugStorage.get;
651
+ /**
652
+ * Возвращает логи конкретного звонка вместе с глобальным контекстом SDK JSON-строкой.
653
+ */
654
+ getJson: typeof DebugStorage.getJson;
655
+ /**
656
+ * Скачивает логи конкретного звонка вместе с глобальным контекстом SDK JSON-файлом.
657
+ */
658
+ download: typeof DebugStorage.download;
659
+ /**
660
+ * Очищает логи конкретного звонка или все локальные логи SDK.
661
+ */
662
+ clear: typeof DebugStorage.clear;
663
+ /**
664
+ * Возвращает статистику локального хранилища логов.
665
+ */
666
+ stats: typeof DebugStorage.stats;
667
+ };
645
668
  /**
646
669
  * Отправляет клиенские логи по conversationId на сервер OK
647
670
  * @example можно посмотреть в examples/anonym/index.html
@@ -728,7 +751,7 @@ export declare function userFeedbackStats(userResponse: number, reason?: string,
728
751
  * @param immediatelty Отправить ли событие немедленно
729
752
  */
730
753
  export declare function logClientEvent(eventType: string, eventData?: Record<string, string | number | boolean>, immediately?: boolean): void;
731
- export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
754
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[], conversationId?: string): Promise<void>;
732
755
  /**
733
756
  * Удаляет записи истории звонков
734
757
  *
@@ -750,14 +773,19 @@ export declare function requestAsr(request: boolean): Promise<void>;
750
773
  export declare function startUrlSharing(sharedUrl: string): Promise<void>;
751
774
  export declare function stopUrlSharing(): Promise<void>;
752
775
  export declare function sendTestCommand(name: string, params?: any): void;
753
- export declare function startAnalyzingAudio(expectAudio: boolean): void;
776
+ export declare function startAnalyzingAudio(expectAudio: boolean, expectedActiveTracks?: number | null, expectedTrackFrequencies?: number[] | null): void;
754
777
  export declare function stopAnalyzingAudio(): void;
755
778
  export declare function switchCall(conversationId: string): Promise<void>;
756
- export declare function getCalls(): Map<string, Conversation>;
757
779
  export declare function getActiveCallId(): string | null;
780
+ /**
781
+ * Возвращает текущее время, скорректированное на смещение относительно серверного времени.
782
+ * Доступно после установки соединения (начало/присоединение к звонку).
783
+ * Если активного звонка нет — возвращает Date.now().
784
+ */
785
+ export declare function getSyncedTime(): number;
758
786
  /**
759
787
  * Версия SDK
760
788
  */
761
789
  export declare function version(): string;
762
- export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, };
790
+ export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, DisplayLayoutRequest, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, };
763
791
  export { Api, AuthData, BaseLogger, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStateDataValue, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, VolumeDetector, };
@@ -7,7 +7,7 @@ import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/Exte
7
7
  import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
8
8
  export type ClientStats = {
9
9
  vcid: ConversationData['id'] | null;
10
- [k: string]: string | number | null;
10
+ [k: string]: string | number | boolean | null;
11
11
  };
12
12
  export type ClientEvent = {
13
13
  timestamp: number;
@@ -44,7 +44,7 @@ export default abstract class BaseApi {
44
44
  audioOnly?: boolean;
45
45
  waitForAdmin?: boolean;
46
46
  closedConversation?: boolean;
47
- }, speakerIds?: OkUserId[]): Promise<ConversationResponse>;
47
+ }, speakerIds?: ExternalId[]): Promise<ConversationResponse>;
48
48
  abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
49
49
  onlyAdminCanShareMovie?: boolean;
50
50
  }, externalIds?: ExternalId[]): Promise<ConversationResponse>;
@@ -73,17 +73,15 @@ export default abstract class BaseApi {
73
73
  */
74
74
  logClientEvents(items: ClientEvent[]): void;
75
75
  abstract uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
76
- abstract getOkIdsByExternalIds(externalIds: ExternalId[]): Promise<OkUserId[]>;
77
- abstract getParticipantIdsByExternalIds(externalIds: ExternalId[]): Promise<Map<ExternalId, ParticipantId>>;
78
76
  abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
79
77
  getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
78
+ getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;
80
79
  cacheExternalId(compositeId: OkUserId | CompositeUserId | ParticipantId, externalId: ExternalParticipantId): void;
81
80
  mapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId, okId: OkUserId | CompositeUserId): void;
82
81
  unmapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId): void;
83
82
  getDecorativeIdByInitialId(okId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined;
84
83
  replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId;
85
84
  hangupConversation(conversationId: string, reason?: HangupType): void;
86
- sendUserFeedbackStats(conversationId: string, userResponse: number, reason?: string, groupCallUsersCount?: number): void;
87
85
  removeHistoryRecords(recordIds: number[]): Promise<void>;
88
86
  getServerTime(): Promise<number>;
89
87
  cleanup(): void;
@@ -1,9 +1,10 @@
1
1
  import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
+ import { TCapabilities } from '../types/Capabilities';
3
4
  import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
4
5
  import { PerfStatReport } from '../types/PerfStatReporter';
5
6
  import { NetworkStatReport } from '../types/NetworkStatReport';
6
- import { TransportTopology } from '../classes/transport/Transport';
7
+ import TransportTopology from '../enums/TransportTopology';
7
8
  import ConversationFeature from '../enums/ConversationFeature';
8
9
  import ConversationOption from '../enums/ConversationOption';
9
10
  import MediaOption from '../enums/MediaOption';
@@ -21,7 +22,7 @@ import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/Partici
21
22
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
22
23
  import SignalingMessage, { GetParticipantsSignalingResponse, GetRoomsSignalingResponse } from '../types/SignalingMessage';
23
24
  import { ChangeSimulcast } from '../types/ChangeSimulcast';
24
- import { IPublishStreamData, IRecordConfData, IStartStreamData, IStopStreamData } from '../types/Streams';
25
+ import { IPublishStreamData, IStartStreamData, IStopStreamData } from '../types/Streams';
25
26
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
26
27
  /**
27
28
  * Параметры добавления пользователя в звонок
@@ -61,14 +62,12 @@ export default abstract class BaseSignaling extends EventEmitter {
61
62
  abstract sendCandidate(participantId: ParticipantId, candidate: RTCIceCandidate): Promise<SignalingMessage>;
62
63
  abstract changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
63
64
  abstract changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
64
- abstract hold(hold: boolean): Promise<SignalingMessage>;
65
+ abstract hold(hold: boolean, capabilities?: TCapabilities): Promise<SignalingMessage>;
65
66
  abstract putHandsDown(): Promise<SignalingMessage>;
66
67
  abstract addParticipant(externalIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
67
68
  abstract addParticipantLegacy(participantIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
68
69
  abstract removeParticipant(participantId: CompositeUserId, ban?: boolean): Promise<SignalingMessage>;
69
- abstract allocateConsumer(description: RTCSessionDescription | null, capabilities: {
70
- [key: string]: number | boolean | string;
71
- }): Promise<SignalingMessage>;
70
+ abstract allocateConsumer(description: RTCSessionDescription | null, capabilities: TCapabilities): Promise<SignalingMessage>;
72
71
  abstract acceptProducer(description: RTCSessionDescriptionInit, ssrcs: string[], sessionId: string): Promise<SignalingMessage>;
73
72
  /**
74
73
  * @deprecated Use updateDisplayLayout instead
@@ -92,7 +91,6 @@ export default abstract class BaseSignaling extends EventEmitter {
92
91
  abstract startStream(data: IStartStreamData): Promise<SignalingMessage>;
93
92
  abstract stopStream(data: IStopStreamData): Promise<SignalingMessage>;
94
93
  abstract publishStream(data: IPublishStreamData): Promise<SignalingMessage>;
95
- abstract recordSetConf(conf: IRecordConfData): Promise<SignalingMessage>;
96
94
  abstract getRecordStatus(): Promise<SignalingMessage>;
97
95
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
98
96
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;