@cloudflare/realtimekit 1.0.2 → 1.1.0-staging.11

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.
@@ -1,7 +1,8 @@
1
- import { EventEmitter } from 'events';
1
+ /// <reference types="node" />
2
+ import EventEmitter$1, { EventEmitter } from 'events';
2
3
  import { MessageType as MessageType$1 } from '@protobuf-ts/runtime';
3
4
  import * as _dyteinternals_utils from '@dyteinternals/utils';
4
- import { ViewType, MediaVideoQualityType, LivestreamViewerMediaQualityType, MediaProductionPermissionType, WaitingRoomTypes, PresetTypeV2, MediaScreenShareQualityType, PluginAccessControls, RecorderType as RecorderType$1, BorderRadius, BorderWidth, Theme } from '@dyteinternals/utils';
5
+ import { ViewType, createNewFlagsmithInstance, PresetTypeV2, MediaVideoQualityType, LivestreamViewerMediaQualityType, MediaProductionPermissionType, WaitingRoomTypes, MediaScreenShareQualityType, PluginAccessControls, RecorderType as RecorderType$1, BorderRadius, BorderWidth, Theme } from '@dyteinternals/utils';
5
6
  import * as WorkerTimers from 'worker-timers';
6
7
  declare global {
7
8
  interface SymbolConstructor {
@@ -47,13 +48,13 @@ declare class RTKEventEmitter<T extends string | symbol> extends EventEmitter {
47
48
  listeners(event: T): Function[];
48
49
  listenerCount(event: T): number;
49
50
  }
50
- type EventMap = {
51
+ type EventMap$1 = {
51
52
  [key: string]: (...args: any[]) => void;
52
53
  };
53
54
  type WildCardEvent<T> = {
54
55
  ['*']: (event: StringKeyOf<T>, ...args: any) => void;
55
56
  };
56
- declare class RTKTypedEventEmitter<Events extends EventMap & WildCardEvent<Events>> extends EventEmitter {
57
+ declare class RTKTypedEventEmitter<Events extends EventMap$1 & WildCardEvent<Events>> extends EventEmitter {
57
58
  constructor();
58
59
  emit<E extends StringKeyOf<Events>>(event: E, ...args: Parameters<Events[E]>): boolean;
59
60
  on<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
@@ -821,6 +822,86 @@ interface RoomInfoResponse {
821
822
  * @generated MessageType for protobuf message socket.room.RoomInfoResponse
822
823
  */
823
824
  declare const RoomInfoResponse: RoomInfoResponse$Type;
825
+ declare class CreateRoomRequestPayload$Type extends MessageType$1<CreateRoomRequestPayload> {
826
+ constructor();
827
+ }
828
+ /**
829
+ * @generated from protobuf message socket.room.CreateRoomRequestPayload
830
+ */
831
+ interface CreateRoomRequestPayload {
832
+ /**
833
+ * @generated from protobuf field: optional string title = 1;
834
+ */
835
+ title?: string;
836
+ }
837
+ /**
838
+ * @generated MessageType for protobuf message socket.room.CreateRoomRequestPayload
839
+ */
840
+ declare const CreateRoomRequestPayload: CreateRoomRequestPayload$Type;
841
+ declare class UpdateRoomRequestPayload$Type extends MessageType$1<UpdateRoomRequestPayload> {
842
+ constructor();
843
+ }
844
+ /**
845
+ * @generated from protobuf message socket.room.UpdateRoomRequestPayload
846
+ */
847
+ interface UpdateRoomRequestPayload {
848
+ /**
849
+ * @generated from protobuf field: optional string meeting_id = 1;
850
+ */
851
+ meetingId?: string;
852
+ /**
853
+ * @generated from protobuf field: optional string title = 2;
854
+ */
855
+ title?: string;
856
+ }
857
+ /**
858
+ * @generated MessageType for protobuf message socket.room.UpdateRoomRequestPayload
859
+ */
860
+ declare const UpdateRoomRequestPayload: UpdateRoomRequestPayload$Type;
861
+ declare class MovePeerPayload$Type extends MessageType$1<MovePeerPayload> {
862
+ constructor();
863
+ }
864
+ /**
865
+ * @generated from protobuf message socket.room.MovePeerPayload
866
+ */
867
+ interface MovePeerPayload {
868
+ /**
869
+ * @generated from protobuf field: optional string id = 1;
870
+ */
871
+ id?: string;
872
+ /**
873
+ * @generated from protobuf field: optional string preset_id = 2;
874
+ */
875
+ presetId?: string;
876
+ }
877
+ /**
878
+ * @generated MessageType for protobuf message socket.room.MovePeerPayload
879
+ */
880
+ declare const MovePeerPayload: MovePeerPayload$Type;
881
+ declare class MovePeersBetweenRoomsRequest$Type extends MessageType$1<MovePeersBetweenRoomsRequest> {
882
+ constructor();
883
+ }
884
+ /**
885
+ * @generated from protobuf message socket.room.MovePeersBetweenRoomsRequest
886
+ */
887
+ interface MovePeersBetweenRoomsRequest {
888
+ /**
889
+ * @generated from protobuf field: optional string source_meeting_id = 1;
890
+ */
891
+ sourceMeetingId?: string;
892
+ /**
893
+ * @generated from protobuf field: optional string destination_meeting_id = 2;
894
+ */
895
+ destinationMeetingId?: string;
896
+ /**
897
+ * @generated from protobuf field: repeated socket.room.MovePeerPayload participants = 3;
898
+ */
899
+ participants: MovePeerPayload[];
900
+ }
901
+ /**
902
+ * @generated MessageType for protobuf message socket.room.MovePeersBetweenRoomsRequest
903
+ */
904
+ declare const MovePeersBetweenRoomsRequest: MovePeersBetweenRoomsRequest$Type;
824
905
  declare class WaitingRoomRequest$Type extends MessageType$1<WaitingRoomRequest> {
825
906
  constructor();
826
907
  }
@@ -1860,7 +1941,910 @@ interface RecordingEvent {
1860
1941
  * @generated MessageType for protobuf message socket.recording.RecordingEvent
1861
1942
  */
1862
1943
  declare const RecordingEvent: RecordingEvent$Type;
1944
+ interface DeviceInfo$1 {
1945
+ isMobile: boolean;
1946
+ browserName: string;
1947
+ browserVersion: string;
1948
+ osName: string;
1949
+ osVersionName: string;
1950
+ engineName: string;
1951
+ userAgent: string;
1952
+ cpus: number;
1953
+ memory?: number;
1954
+ webglSupport?: number;
1955
+ }
1956
+ interface GeoLocation {
1957
+ coords: {
1958
+ latitude: number;
1959
+ longitude: number;
1960
+ };
1961
+ }
1962
+ interface IPDetails {
1963
+ ip: string;
1964
+ city: string;
1965
+ region: string;
1966
+ country: string;
1967
+ loc: string | GeoLocation;
1968
+ org: string;
1969
+ portal: string;
1970
+ timezone: string;
1971
+ }
1972
+ interface ThroughputInformation {
1973
+ throughput: number;
1974
+ fractionalLoss: number;
1975
+ RTT: number;
1976
+ jitter: number;
1977
+ backendRTT: number;
1978
+ }
1979
+ interface IceConnectivity {
1980
+ host: boolean;
1981
+ relay: boolean;
1982
+ reflexive: boolean;
1983
+ }
1984
+ interface NetworkQualityInformation extends ThroughputInformation {
1985
+ connectivity: IceConnectivity;
1986
+ }
1987
+ interface NetworkInformation extends NetworkQualityInformation {
1988
+ ipDetails: IPDetails;
1989
+ location: GeoLocation;
1990
+ turnConnectivity: boolean;
1991
+ effectiveNetworkType: string;
1992
+ }
1993
+ interface NetworkInformationWithoutConnectivityData {
1994
+ ipDetails: IPDetails;
1995
+ location: GeoLocation;
1996
+ effectiveNetworkType: string;
1997
+ }
1998
+ type RTCDtlsTransportState = 'closed' | 'connected' | 'connecting' | 'failed' | 'new';
1999
+ type RTCIceRole = 'controlled' | 'controlling' | 'unknown';
2000
+ interface VideoStreamStats {
2001
+ frameHeight: number;
2002
+ frameWidth: number;
2003
+ droppedFrames?: number;
2004
+ framerateMean?: number;
2005
+ framesDropped: number;
2006
+ framesPerSecond: number;
2007
+ firCount: number;
2008
+ }
2009
+ interface AudioStreamStats {
2010
+ }
2011
+ interface InboundStreamStats {
2012
+ codecId: string;
2013
+ bytesReceived: number;
2014
+ headerBytesReceived: number;
2015
+ packetsReceived: number;
2016
+ packetsLost: number;
2017
+ packetsDiscarded: number;
2018
+ jitter: number;
2019
+ nackCount: number;
2020
+ jitterBufferDelay: number;
2021
+ jitterBufferEmittedCount: number;
2022
+ jitterBufferMinimumDelay: number;
2023
+ jitterBufferTargetDelay: number;
2024
+ lastPacketReceivedTimestamp: number;
2025
+ ssrc: number;
2026
+ mid: string;
2027
+ score?: number;
2028
+ }
2029
+ interface RemoteInboundStreamStats {
2030
+ jitter: number;
2031
+ fractionLost: number;
2032
+ roundTripTime: number;
2033
+ roundTripTimeMeasurements: number;
2034
+ totalRoundTripTime: number;
2035
+ packetsLost: number;
2036
+ localId?: string;
2037
+ }
2038
+ interface OutboundStreamStats {
2039
+ active: boolean;
2040
+ codecId: string;
2041
+ headerBytesSent: number;
2042
+ totalPacketSendDelay: number;
2043
+ bytesSent: number;
2044
+ packetsSent: number;
2045
+ retransmittedBytesSent?: number;
2046
+ retransmittedPacketsSent?: number;
2047
+ remoteData?: RemoteInboundStreamStats;
2048
+ nackCount: number;
2049
+ ssrc: number;
2050
+ mid: string;
2051
+ score?: number;
2052
+ }
2053
+ interface InboundVideoStreamStats extends VideoStreamStats, InboundStreamStats {
2054
+ qpSum: number;
2055
+ totalAssemblyTime: number;
2056
+ totalDecodeTime: number;
2057
+ totalFreezesDuration: number;
2058
+ totalInterFrameDelay: number;
2059
+ totalPausesDuration: number;
2060
+ totalSquaredInterFrameDelay: number;
2061
+ framesDecoded: number;
2062
+ framesDropped: number;
2063
+ keyFramesDecoded: number;
2064
+ freezeCount: number;
2065
+ framesReceived: number;
2066
+ pauseCount: number;
2067
+ pliCount: number;
2068
+ totalProcessingDelay: number;
2069
+ decoderImplementation: string;
2070
+ powerEfficientDecoder: boolean;
2071
+ }
2072
+ interface QualityLimitationDurations {
2073
+ bandwidth: number;
2074
+ cpu: number;
2075
+ none: number;
2076
+ other: number;
2077
+ }
2078
+ interface OutboundVideoStreamStats extends VideoStreamStats, OutboundStreamStats {
2079
+ hugeFramesSent: number;
2080
+ pliCount: number;
2081
+ qpSum: number;
2082
+ framesEncoded: number;
2083
+ framesSent: number;
2084
+ keyFramesEncoded: number;
2085
+ encoderImplementation: string;
2086
+ qualityLimitationReason: string;
2087
+ qualityLimitationResolutionChanges: number;
2088
+ qualityLimitationDurations: QualityLimitationDurations;
2089
+ totalEncodeTime: number;
2090
+ targetBitrate?: number;
2091
+ scalabilityMode: string;
2092
+ powerEfficientEncoder: boolean;
2093
+ }
2094
+ interface InboundAudioStreamStats extends AudioStreamStats, InboundStreamStats {
2095
+ audioLevel: number;
2096
+ concealedSamples: number;
2097
+ concealmentEvents: number;
2098
+ totalAudioEnergy: number;
2099
+ totalSamplesDuration: number;
2100
+ totalSamplesReceived: number;
2101
+ fecPacketsDiscarded: number;
2102
+ fecPacketsReceived: number;
2103
+ insertedSamplesForDeceleration: number;
2104
+ removedSamplesForAcceleration: number;
2105
+ silentConcealedSamples: number;
2106
+ playoutId: string;
2107
+ }
2108
+ interface OutboundAudioStreamStats extends AudioStreamStats, OutboundStreamStats {
2109
+ }
2110
+ interface IceCandidateStats {
2111
+ id: string;
2112
+ type?: string;
2113
+ address?: string;
2114
+ port?: number;
2115
+ relatedAddress?: string;
2116
+ relatedPort?: number;
2117
+ url?: string;
2118
+ protocol?: string;
2119
+ networkType?: string;
2120
+ }
2121
+ interface IceCandidatePairStats {
2122
+ nominated: boolean;
2123
+ currentRoundTripTime?: number;
2124
+ totalRoundTripTime?: number;
2125
+ bytesSent?: number;
2126
+ bytesReceived?: number;
2127
+ bytesDiscardedOnSend?: number;
2128
+ packetsSent?: number;
2129
+ packetsReceived?: number;
2130
+ packetsDiscardedOnSend?: number;
2131
+ availableOutgoingBitrate?: number;
2132
+ availableIncomingBitrate?: number;
2133
+ lastPacketReceivedTimestamp?: number;
2134
+ lastPacketSentTimestamp?: number;
2135
+ localCandidateId?: string;
2136
+ localCandidateType?: string;
2137
+ localCandidateAddress?: string;
2138
+ localCandidatePort?: number;
2139
+ localCandidateRelatedAddress?: string;
2140
+ localCandidateRelatedPort?: number;
2141
+ localCandidateUrl?: string;
2142
+ localCandidateProtocol?: string;
2143
+ localCandidateNetworkType?: string;
2144
+ remoteCandidateId?: string;
2145
+ remoteCandidateType?: string;
2146
+ remoteCandidateAddress?: string;
2147
+ remoteCandidatePort?: number;
2148
+ remoteCandidateUrl?: string;
2149
+ remoteCandidateProtocol?: string;
2150
+ }
2151
+ interface WebRtcTransportStat {
2152
+ bytesReceived?: number;
2153
+ bytesSent?: number;
2154
+ roundTripTime?: number;
2155
+ totalRoundTripTime?: number;
2156
+ availableOutgoingBitrate?: number;
2157
+ availableIncomingBitrate?: number;
2158
+ dtlsCipher?: string;
2159
+ dtlsState?: RTCDtlsTransportState;
2160
+ iceRole?: RTCIceRole;
2161
+ packetsReceived?: number;
2162
+ packetsSent?: number;
2163
+ candidatePairs?: IceCandidatePairStats[];
2164
+ }
2165
+ interface TransportStatistics extends Object {
2166
+ transportId: string;
2167
+ consuming: boolean;
2168
+ producing: boolean;
2169
+ stats: WebRtcTransportStat;
2170
+ }
2171
+ interface ProducerStatistics extends Object {
2172
+ producerId: string;
2173
+ videoStats: OutboundVideoStreamStats[];
2174
+ audioStats: OutboundAudioStreamStats[];
2175
+ appData?: {
2176
+ screenShare?: boolean;
2177
+ supportsRemoteControl?: boolean;
2178
+ };
2179
+ }
2180
+ interface ConsumerStatistics extends Object {
2181
+ consumerId: string;
2182
+ peerId: string;
2183
+ producerId: string;
2184
+ videoStats: InboundVideoStreamStats[];
2185
+ audioStats: InboundAudioStreamStats[];
2186
+ appData: Record<string, unknown>;
2187
+ }
2188
+ interface ProcessedStatsReport {
2189
+ transportReport: TransportStatistics;
2190
+ producerReport: ProducerStatistics[];
2191
+ consumerReport: ConsumerStatistics[];
2192
+ }
2193
+ interface AudioProducerScoreStats {
2194
+ score: number;
2195
+ packetsLostPercentage: number;
2196
+ jitter: number;
2197
+ isScreenShare: boolean;
2198
+ bitrate: number;
2199
+ }
2200
+ interface VideoProducerScoreStats {
2201
+ score: number;
2202
+ frameWidth: number;
2203
+ frameHeight: number;
2204
+ framesPerSecond: number;
2205
+ packetsLostPercentage: number;
2206
+ jitter: number;
2207
+ isScreenShare: boolean;
2208
+ bitrate: number;
2209
+ cpuLimitations: boolean;
2210
+ bandwidthLimitations: boolean;
2211
+ }
2212
+ interface AudioConsumerScoreStats {
2213
+ score: number;
2214
+ packetsLostPercentage: number;
2215
+ jitter: number;
2216
+ isScreenShare: boolean;
2217
+ bitrate: number;
2218
+ }
2219
+ interface VideoConsumerScoreStats {
2220
+ score: number;
2221
+ frameWidth: number;
2222
+ frameHeight: number;
2223
+ framesPerSecond: number;
2224
+ packetsLostPercentage: number;
2225
+ jitter: number;
2226
+ isScreenShare: boolean;
2227
+ bitrate: number;
2228
+ }
2229
+ type ProducerScoreStats = AudioProducerScoreStats | VideoProducerScoreStats;
2230
+ type ConsumerScoreStats = AudioConsumerScoreStats | VideoConsumerScoreStats;
2231
+ interface IceServerInfo {
2232
+ urls: string;
2233
+ username: string;
2234
+ credential?: string;
2235
+ /**
2236
+ * Note(ravindra-dyte):
2237
+ * credentialType is deprecated.
2238
+ * https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/credentialType
2239
+ */
2240
+ credentialType?: 'password';
2241
+ }
2242
+ interface RegionalIceInformation {
2243
+ regionId: string;
2244
+ iceServers: IceServerInfo[];
2245
+ }
2246
+ interface ApiHostnames {
2247
+ location: string;
2248
+ locationLegacy: string;
2249
+ daCollector: string;
2250
+ }
1863
2251
  type ClientEnvTypeAll = 'devel' | 'preprod' | 'prod';
2252
+ declare enum MediaDeviceType {
2253
+ AUDIO = "AUDIO",
2254
+ VIDEO = "VIDEO",
2255
+ SPEAKER = "SPEAKER",
2256
+ SCREENSHARE = "SCREENSHARE"
2257
+ }
2258
+ type MediaDeviceTypeAll = keyof typeof MediaDeviceType;
2259
+ interface DeviceInfo {
2260
+ isMobile: boolean;
2261
+ browserName: string;
2262
+ browserVersion: string;
2263
+ osName: string;
2264
+ osVersionName: string;
2265
+ engineName: string;
2266
+ userAgent: string;
2267
+ cpus: number;
2268
+ memory: number;
2269
+ webglSupport?: number;
2270
+ }
2271
+ interface PeerMetaData$1 {
2272
+ metaData: Object;
2273
+ deviceInfo: DeviceInfo;
2274
+ meetingEnv?: string;
2275
+ peerId: string;
2276
+ userId: string;
2277
+ roomUUID: string;
2278
+ permissions: Object;
2279
+ participantRole?: string;
2280
+ roomViewType: string;
2281
+ }
2282
+ /** Similar to what web-core has for media permissions */
2283
+ type MediaPermissions$1 = 'NOT_REQUESTED' | 'ACCEPTED' | 'DENIED' | 'CANCELED' | 'SYSTEM_DENIED' | 'COULD_NOT_START' | 'NO_DEVICES_AVAILABLE';
2284
+ interface InhouseCallStatsInitializeParams {
2285
+ peerId: string;
2286
+ engineName: string;
2287
+ env?: ClientEnvTypeAll;
2288
+ iceServers: any[];
2289
+ apiBase?: string;
2290
+ flags: Record<string, Record<'enabled' | 'value', any>>;
2291
+ logger?: RTKLogger$2;
2292
+ apiHostnames: ApiHostnames;
2293
+ skipConnectivityChecks: boolean;
2294
+ }
2295
+ /**
2296
+ * Note(ravindra-dyte):
2297
+ * This is redundantly added here to avoid circular dependency on web-core build
2298
+ * */
2299
+ declare type LogData$3 = {
2300
+ [key: string]: string | number | boolean | null | undefined | LogData$3;
2301
+ };
2302
+ declare interface RTKLogger$2 {
2303
+ info(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2304
+ error(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2305
+ debug(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2306
+ log(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2307
+ warn(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2308
+ }
2309
+ declare enum Event {
2310
+ PRECALL_TEST_BEGIN = "precall_begin",
2311
+ PRECALL_TEST_COMPLETE = "precall_end",
2312
+ CALL_JOIN_BEGIN = "call_join",
2313
+ NET_QUALITY_TEST_BEGIN = "net_quality_test_begin",
2314
+ NET_QUALITY_TEST_END = "net_quality_test_end",
2315
+ WEBSOCKET_CONNECTED = "websocket_connected",
2316
+ TRANSPORT_CONNECTED = "transport_connected",
2317
+ AUDIO_ON = "audio_on",
2318
+ AUDIO_OFF = "audio_off",
2319
+ VIDEO_ON = "video_on",
2320
+ VIDEO_OFF = "video_off",
2321
+ PARTICIPANT_ROLE = "participant_role",
2322
+ PING_STAT = "ping_stat",
2323
+ DISCONNECT = "disconnect",
2324
+ RECONNECT_ATTEMPT = "reconnect_attempt",
2325
+ SCREENSHARE_START_REQUESTED = "screenshare_start_requested",
2326
+ SCREENSHARE_STARTED = "screenshare_started",
2327
+ SCREENSHARE_STOPPED = "screenshare_stopped",
2328
+ TAB_CHANGE = "tab_change",
2329
+ BROWSER_BACKGROUNDED = "browser_backgrounded",
2330
+ BROWSER_FOREGROUNDED = "browser_foregrounded",
2331
+ DOMINANT_SPEAKER = "dominant_speaker",
2332
+ AUDIO_DEVICES_UPDATES = "audio_devices_updates",
2333
+ VIDEO_DEVICES_UPDATES = "video_devices_updates",
2334
+ SPEAKER_DEVICES_UPDATES = "speaker_devices_updates",
2335
+ SELECTED_MICROHPONE_UPDATE = "selected_microphone_update",
2336
+ SELECTED_CAMERA_UPDATE = "selected_camera_update",
2337
+ SELECTED_SPEAKER_UPDATE = "selected_speaker_update",
2338
+ EXPECTED_VIDEO_RESOLUTION = "expected_video_resolution",
2339
+ EXPECTED_SCREENSHARE_RESOLUTION = "expected_screenshare_resolution",
2340
+ MEDIA_PERMISSION = "media_permission",
2341
+ LEGACY_SWITCH = "legacy_switch",
2342
+ AUDIO_PLAY_FAILED = "audio_play_failed",
2343
+ VIDEO_PLAY_FAILED = "video_play_failed",
2344
+ AUDIO_TRACK_MUTED = "audio_track_muted",
2345
+ VIDEO_TRACK_MUTED = "video_track_muted",
2346
+ IVS_PLAYER_REBUFFERING = "ivs_player_rebuffering",
2347
+ IVS_PLAYER_AUDIO_BLOCKED = "ivs_player_audio_blocked",
2348
+ IVS_PLAYER_PLAYBACK_BLOCKED = "ivs_player_playback_blocked",
2349
+ IVS_PLAYER_ERROR = "ivs_player_error",
2350
+ IVS_PLAYER_RECOVERABLE_ERROR = "ivs_player_recoverable_error",
2351
+ IVS_PLAYER_WORKER_ERROR = "ivs_player_worker_error",
2352
+ IVS_PLAYER_NETWORK_UNAVAILABLE = "ivs_player_network_unavailable",
2353
+ LIVESTREAM_LATENCY = "livestream_latency",
2354
+ IVS_PLAYER_ANALYTICS_EVENT = "ivs_player_analytics_event",
2355
+ IVS_PLAYER_PLAYBACK_RATE_CHANGED = "ivs_player_playback_rate_changed",
2356
+ IVS_PLAYER_QUALITY_CHANGED = "ivs_player_quality_changed",
2357
+ IVS_PLAYER_INITIALIZED = "ivs_player_initialized"
2358
+ }
2359
+ interface PeerMetaData {
2360
+ metaData: Object;
2361
+ deviceInfo: DeviceInfo$1;
2362
+ meetingEnv?: string;
2363
+ peerId: string;
2364
+ userId: string;
2365
+ roomUUID: string;
2366
+ permissions: Object;
2367
+ participantRole?: string;
2368
+ roomViewType: string;
2369
+ }
2370
+ interface EventDataBase extends Object {
2371
+ }
2372
+ interface CallJoinData extends EventDataBase {
2373
+ peerMetaData: PeerMetaData;
2374
+ }
2375
+ interface PingStatsData extends EventDataBase {
2376
+ producingTransportStats?: TransportStatistics;
2377
+ consumingTransportStats?: TransportStatistics;
2378
+ producerStats?: ProducerStatistics[];
2379
+ consumerStats?: ConsumerStatistics[];
2380
+ }
2381
+ interface PreCallTestData extends EventDataBase {
2382
+ connectionInfo?: NetworkInformation;
2383
+ }
2384
+ interface PreCallTestDataWithoutConnectivityData extends EventDataBase {
2385
+ connectionInfo?: NetworkInformationWithoutConnectivityData;
2386
+ }
2387
+ interface RegionalNetworkQualityTestData extends RegionalIceInformation {
2388
+ networkResults: NetworkQualityInformation;
2389
+ }
2390
+ interface NetworkQualityTestData extends EventDataBase {
2391
+ regionData: RegionalNetworkQualityTestData[];
2392
+ }
2393
+ interface ParticipantRoleData extends EventDataBase {
2394
+ participantRole: string;
2395
+ }
2396
+ interface ExpectedVideoResolutionEntry extends EventEntryBase {
2397
+ event: Event.EXPECTED_VIDEO_RESOLUTION;
2398
+ metaData: {
2399
+ frameWidth: number;
2400
+ frameHeight: number;
2401
+ };
2402
+ }
2403
+ interface ExpectedScreenshareResolutionEntry extends EventEntryBase {
2404
+ event: Event.EXPECTED_SCREENSHARE_RESOLUTION;
2405
+ metaData: {
2406
+ frameWidth: number;
2407
+ frameHeight: number;
2408
+ };
2409
+ }
2410
+ interface EmptyData extends EventDataBase {
2411
+ }
2412
+ interface MediaDevicesData extends EventDataBase {
2413
+ deviceList: MediaDeviceInfo[];
2414
+ }
2415
+ interface IVSPlayerQualityChangedData extends EventDataBase {
2416
+ name: string;
2417
+ group: string;
2418
+ codecs: string;
2419
+ bitrate: number;
2420
+ width: number;
2421
+ height: number;
2422
+ framerate: number;
2423
+ isDefault: boolean;
2424
+ }
2425
+ interface IVSPlayerAnalyticsEventData extends EventDataBase {
2426
+ name: string;
2427
+ properties: Object;
2428
+ }
2429
+ interface IVSPlayerErrorData extends EventDataBase {
2430
+ type: string;
2431
+ code: number;
2432
+ source: string;
2433
+ message: string;
2434
+ }
2435
+ interface IVSPlayerRecoverableErrorData extends EventDataBase {
2436
+ type: string;
2437
+ code: number;
2438
+ source: string;
2439
+ message: string;
2440
+ }
2441
+ interface IVSPlayerPlaybackRateChangedData extends EventDataBase {
2442
+ updatedPlaybackRate: number;
2443
+ }
2444
+ interface IVSPlayerLiveLatencyData extends EventDataBase {
2445
+ latency: number;
2446
+ }
2447
+ type EventData = CallJoinData | PingStatsData | NetworkQualityTestData | EmptyData | ParticipantRoleData | ParticipantRoleData | MediaDevicesData | IVSPlayerQualityChangedData | IVSPlayerAnalyticsEventData | IVSPlayerErrorData | IVSPlayerRecoverableErrorData | IVSPlayerPlaybackRateChangedData | IVSPlayerLiveLatencyData;
2448
+ interface EventEntryBase {
2449
+ event: Event;
2450
+ timestamp: Date;
2451
+ metaData?: EventData;
2452
+ }
2453
+ interface PreCallTestBeginEntry extends EventEntryBase {
2454
+ event: Event.PRECALL_TEST_BEGIN;
2455
+ }
2456
+ interface PreCallTestCompletedEntry extends EventEntryBase {
2457
+ event: Event.PRECALL_TEST_COMPLETE;
2458
+ metaData: PreCallTestData | PreCallTestDataWithoutConnectivityData;
2459
+ }
2460
+ interface CallJoinBeginEntry extends EventEntryBase {
2461
+ event: Event.CALL_JOIN_BEGIN;
2462
+ metaData: CallJoinData;
2463
+ }
2464
+ interface NetworkQualityTestBeginEntry extends EventEntryBase {
2465
+ event: Event.NET_QUALITY_TEST_BEGIN;
2466
+ }
2467
+ interface NetworkQualityTestEndEntry extends EventEntryBase {
2468
+ event: Event.NET_QUALITY_TEST_END;
2469
+ metaData: NetworkQualityTestData;
2470
+ }
2471
+ interface WebSocketConnectedEntry extends EventEntryBase {
2472
+ event: Event.WEBSOCKET_CONNECTED;
2473
+ }
2474
+ interface TransportConnectedEntry extends EventEntryBase {
2475
+ event: Event.TRANSPORT_CONNECTED;
2476
+ }
2477
+ interface AudioToggleEntry extends EventEntryBase {
2478
+ event: Event.AUDIO_OFF | Event.AUDIO_ON;
2479
+ }
2480
+ interface VideoToggleEntry extends EventEntryBase {
2481
+ event: Event.VIDEO_OFF | Event.VIDEO_ON;
2482
+ }
2483
+ interface ScreenShareToggleEntry extends EventEntryBase {
2484
+ event: Event.SCREENSHARE_STARTED | Event.SCREENSHARE_STOPPED;
2485
+ metaData: {
2486
+ ssrc: number;
2487
+ };
2488
+ }
2489
+ interface ScreenShareRequestedEntry extends EventEntryBase {
2490
+ event: Event.SCREENSHARE_START_REQUESTED;
2491
+ }
2492
+ interface DominantSpeakerEntry extends EventEntryBase {
2493
+ event: Event.DOMINANT_SPEAKER;
2494
+ metaData: {
2495
+ peerId: string;
2496
+ };
2497
+ }
2498
+ interface DevicesEntry extends EventEntryBase {
2499
+ event: Event.AUDIO_DEVICES_UPDATES | Event.VIDEO_DEVICES_UPDATES | Event.SPEAKER_DEVICES_UPDATES;
2500
+ metaData: MediaDevicesData;
2501
+ }
2502
+ interface SelectedDeviceEntry extends EventEntryBase {
2503
+ event: Event.SELECTED_CAMERA_UPDATE | Event.SELECTED_MICROHPONE_UPDATE | Event.SELECTED_SPEAKER_UPDATE;
2504
+ metaData: {
2505
+ device: MediaDeviceInfo;
2506
+ };
2507
+ }
2508
+ interface MediaPermissionEntry extends EventEntryBase {
2509
+ event: Event.MEDIA_PERMISSION;
2510
+ metaData: {
2511
+ deviceType: MediaDeviceTypeAll;
2512
+ permission: MediaPermissions$1;
2513
+ };
2514
+ }
2515
+ interface MediaPlaybackFailureEntry extends EventEntryBase {
2516
+ event: Event.AUDIO_PLAY_FAILED | Event.VIDEO_PLAY_FAILED;
2517
+ metaData: {
2518
+ deviceType: MediaDeviceTypeAll;
2519
+ };
2520
+ }
2521
+ interface MediaTrackFailureEntry extends EventEntryBase {
2522
+ event: Event.AUDIO_TRACK_MUTED | Event.VIDEO_TRACK_MUTED;
2523
+ metaData: {
2524
+ deviceType: MediaDeviceTypeAll;
2525
+ };
2526
+ }
2527
+ interface TabChangeEntry extends EventEntryBase {
2528
+ event: Event.TAB_CHANGE;
2529
+ metaData: {
2530
+ isMeetingsTabActive: boolean;
2531
+ };
2532
+ }
2533
+ interface BrowserBackgroundedEntry extends EventEntryBase {
2534
+ event: Event.BROWSER_BACKGROUNDED;
2535
+ }
2536
+ interface BrowserForegroundedEntry extends EventEntryBase {
2537
+ event: Event.BROWSER_FOREGROUNDED;
2538
+ }
2539
+ interface LegacySwitchEntry extends EventEntryBase {
2540
+ event: Event.LEGACY_SWITCH;
2541
+ metadata: {
2542
+ on: boolean;
2543
+ };
2544
+ }
2545
+ interface ParticipantRoleToggleEntry extends EventEntryBase {
2546
+ event: Event.PARTICIPANT_ROLE;
2547
+ metaData: ParticipantRoleData;
2548
+ }
2549
+ interface PingStatsEntry extends EventEntryBase {
2550
+ event: Event.PING_STAT;
2551
+ metaData: PingStatsData;
2552
+ }
2553
+ interface DisconnectEntry extends EventEntryBase {
2554
+ event: Event.DISCONNECT;
2555
+ }
2556
+ interface ReconnectEntry extends EventEntryBase {
2557
+ event: Event.RECONNECT_ATTEMPT;
2558
+ }
2559
+ interface IVSPlayerRebufferingEntry extends EventEntryBase {
2560
+ event: Event.IVS_PLAYER_REBUFFERING;
2561
+ }
2562
+ interface IVSPlayerAudioBlockedEntry extends EventEntryBase {
2563
+ event: Event.IVS_PLAYER_AUDIO_BLOCKED;
2564
+ }
2565
+ interface IVSPlayerPlaybackBlockedEntry extends EventEntryBase {
2566
+ event: Event.IVS_PLAYER_PLAYBACK_BLOCKED;
2567
+ }
2568
+ interface IVSPlayerNetworkUnavailableEntry extends EventEntryBase {
2569
+ event: Event.IVS_PLAYER_NETWORK_UNAVAILABLE;
2570
+ }
2571
+ interface IVSPlayerInitializedEntry extends EventEntryBase {
2572
+ event: Event.IVS_PLAYER_INITIALIZED;
2573
+ }
2574
+ interface IVSPlayerWorkerErrorEntry extends EventEntryBase {
2575
+ event: Event.IVS_PLAYER_WORKER_ERROR;
2576
+ }
2577
+ interface IVSPlayerErrorEntry extends EventEntryBase {
2578
+ event: Event.IVS_PLAYER_ERROR;
2579
+ metaData: IVSPlayerErrorData;
2580
+ }
2581
+ interface IVSPlayerRecoverableErrorEntry extends EventEntryBase {
2582
+ event: Event.IVS_PLAYER_RECOVERABLE_ERROR;
2583
+ metaData: IVSPlayerRecoverableErrorData;
2584
+ }
2585
+ interface IVSPlayerAnalyticsEventEntry extends EventEntryBase {
2586
+ event: Event.IVS_PLAYER_ANALYTICS_EVENT;
2587
+ metaData: IVSPlayerAnalyticsEventData;
2588
+ }
2589
+ interface IVSPlayerPlaybackRateChangedEntry extends EventEntryBase {
2590
+ event: Event.IVS_PLAYER_PLAYBACK_RATE_CHANGED;
2591
+ metaData: IVSPlayerPlaybackRateChangedData;
2592
+ }
2593
+ interface IVSPlayerQualityChangedEntry extends EventEntryBase {
2594
+ event: Event.IVS_PLAYER_QUALITY_CHANGED;
2595
+ metaData: IVSPlayerQualityChangedData;
2596
+ }
2597
+ interface IVSPlayerLiveLatencyEntry extends EventEntryBase {
2598
+ event: Event.LIVESTREAM_LATENCY;
2599
+ metaData: IVSPlayerLiveLatencyData;
2600
+ }
2601
+ type EventEntry = CallJoinBeginEntry | NetworkQualityTestBeginEntry | NetworkQualityTestEndEntry | BrowserForegroundedEntry | PingStatsEntry | PreCallTestBeginEntry | PreCallTestCompletedEntry | WebSocketConnectedEntry | TransportConnectedEntry | AudioToggleEntry | VideoToggleEntry | ScreenShareToggleEntry | DisconnectEntry | ReconnectEntry | ParticipantRoleToggleEntry | DominantSpeakerEntry | DevicesEntry | SelectedDeviceEntry | MediaPermissionEntry | MediaPlaybackFailureEntry | MediaTrackFailureEntry | ScreenShareRequestedEntry | ExpectedVideoResolutionEntry | ExpectedScreenshareResolutionEntry | TabChangeEntry | BrowserBackgroundedEntry | LegacySwitchEntry | IVSPlayerRebufferingEntry | IVSPlayerAudioBlockedEntry | IVSPlayerPlaybackBlockedEntry | IVSPlayerNetworkUnavailableEntry | IVSPlayerInitializedEntry | IVSPlayerErrorEntry | IVSPlayerRecoverableErrorEntry | IVSPlayerAnalyticsEventEntry | IVSPlayerLiveLatencyEntry | IVSPlayerPlaybackRateChangedEntry | IVSPlayerQualityChangedEntry | IVSPlayerWorkerErrorEntry;
2602
+ declare class EventHandler extends EventEmitter$1 {
2603
+ constructor({ logger, peerId, apiHostnames, }: {
2604
+ logger: RTKLogger$2;
2605
+ peerId: string;
2606
+ apiHostnames: ApiHostnames;
2607
+ });
2608
+ callEvent(entry: EventEntry): void;
2609
+ flush(): Promise<boolean>;
2610
+ }
2611
+ interface ParsedProducerStats {
2612
+ outboundVideoRtpId: string[];
2613
+ outboundAudioRtpId: string[];
2614
+ }
2615
+ interface ParsedConsumerStats {
2616
+ inboundVideoRtpId: string[];
2617
+ inboundAudioRtpId: string[];
2618
+ }
2619
+ declare class ParsedRTCStats {
2620
+ transport: WebRtcTransportStat;
2621
+ candidatePair: IceCandidatePairStats;
2622
+ outboundVideoRtp: Map<string, OutboundVideoStreamStats>;
2623
+ inboundVideoRtp: Map<string, InboundVideoStreamStats>;
2624
+ outboundAudioRtp: Map<string, OutboundAudioStreamStats>;
2625
+ inboundAudioRtp: Map<string, InboundAudioStreamStats>;
2626
+ remoteInboundRtp: Map<string, RemoteInboundStreamStats>;
2627
+ producerStreamMap: Map<string, ParsedProducerStats>;
2628
+ consumerStreamMap: Map<string, ParsedConsumerStats>;
2629
+ staleProducerStreamMap: boolean;
2630
+ staleConsumerStreamMap: boolean;
2631
+ }
2632
+ declare abstract class Measurements extends EventEmitter$1 {
2633
+ observer: EventEmitter$1;
2634
+ outboundProducerMap: Map<string, string>;
2635
+ inboundConsumerMap: Map<string, string>;
2636
+ consumerPeerIdMap: Map<string, {
2637
+ producerId: string;
2638
+ peerId: string;
2639
+ appData: Record<string, unknown>;
2640
+ }>;
2641
+ pausedConsumerMap: Map<string, {
2642
+ lastReportCalculated: boolean;
2643
+ }>;
2644
+ pausedProducerMap: Map<string, {
2645
+ lastReportCalculated: boolean;
2646
+ }>;
2647
+ overallProducingTransportsStatsMap: Record<string, {
2648
+ totalPacketsSent: number;
2649
+ }>;
2650
+ overallConsumingTransportsStatsMap: Record<string, {
2651
+ totalPacketsReceived: number;
2652
+ }>;
2653
+ overallConsumersStatsMap: Record<string, {
2654
+ totalVideoPacketsReceived: number;
2655
+ totalAudioPacketsReceived: number;
2656
+ }>;
2657
+ overallProducersStatsMap: Record<string, {
2658
+ totalVideoPacketsSent: number;
2659
+ totalAudioPacketsSent: number;
2660
+ }>;
2661
+ videoProducerToStatsMap: Map<string, OutboundVideoStreamStats>;
2662
+ audioProducerToStatsMap: Map<string, OutboundAudioStreamStats>;
2663
+ videoConsumerToStatsMap: Map<string, InboundVideoStreamStats>;
2664
+ audioConsumerToStatsMap: Map<string, InboundAudioStreamStats>;
2665
+ consumerIdsWithFreezedVideo: Set<string>;
2666
+ consumerIdsWithFreezedAudio: Set<string>;
2667
+ producerIdsWithFreezedVideo: Set<string>;
2668
+ producerIdsWithFreezedAudio: Set<string>;
2669
+ freezedProducingTransportIds: Set<string>;
2670
+ freezedConsumingTransportIds: Set<string>;
2671
+ screenShareProducers: Set<string>;
2672
+ screenShareConsumers: Set<string>;
2673
+ ipDetails: IPDetails;
2674
+ callStatsInstance: CallStats;
2675
+ constructor();
2676
+ registerProducer(producer: any): Promise<void>;
2677
+ pauseProducer(producerId: string): void;
2678
+ resumeProducer(producerId: string): void;
2679
+ processInboundConsumerVideoStats(consumerId: string, overallStatsForConsumer: {
2680
+ totalVideoPacketsReceived: number;
2681
+ totalAudioPacketsReceived: number;
2682
+ }, streamStatsData: InboundVideoStreamStats): void;
2683
+ processInboundConsumerAudioStats(consumerId: string, overallStatsForConsumer: {
2684
+ totalVideoPacketsReceived: number;
2685
+ totalAudioPacketsReceived: number;
2686
+ }, streamStatsData: InboundAudioStreamStats): void;
2687
+ processOutboundProducerVideoStats(producerId: string, overallStatsForProducer: {
2688
+ totalVideoPacketsSent: number;
2689
+ totalAudioPacketsSent: number;
2690
+ }, streamStatsData: OutboundVideoStreamStats): void;
2691
+ processOutboundProducerAudioStats(producerId: string, overallStatsForProducer: {
2692
+ totalVideoPacketsSent: number;
2693
+ totalAudioPacketsSent: number;
2694
+ }, streamStatsData: OutboundAudioStreamStats): void;
2695
+ processProducingTransportStats(transportId: string, overallStatsForTransport: {
2696
+ totalPacketsSent: number;
2697
+ }, transportStatsData: WebRtcTransportStat): void;
2698
+ processConsumingTransportStats(transportId: string, overallStatsForTransport: {
2699
+ totalPacketsReceived: number;
2700
+ }, streamStatsData: WebRtcTransportStat): void;
2701
+ registerConsumer(consumer: any): Promise<void>;
2702
+ pauseConsumer(consumerId: string): void;
2703
+ resumeConsumer(consumerId: string): void;
2704
+ generateProducerStreamMap(producer: any, parse?: boolean): Promise<ProducerStatistics>;
2705
+ generateConsumerStreamMap(consumer: any, parse?: boolean): Promise<ConsumerStatistics>;
2706
+ deregisterProducer(producer: any): void;
2707
+ deregisterConsumer(consumer: any): void;
2708
+ getWorkingSimulcastVideoStats(videoStatsList: OutboundVideoStreamStats[]): OutboundVideoStreamStats;
2709
+ getProducersReport(producers: any[]): Promise<ProducerStatistics[]>;
2710
+ getConsumersReport(consumers: any[]): Promise<ConsumerStatistics[]>;
2711
+ getTransportReport(transport: any): Promise<any>;
2712
+ getProcessedStats(transport: any, consuming: boolean, producing: boolean): Promise<ProcessedStatsReport>;
2713
+ getUserLocation(): Promise<GeoLocation>;
2714
+ getConnectivity(iceServers: IceServerInfo[]): Promise<{
2715
+ host: boolean;
2716
+ relay: boolean;
2717
+ reflexive: boolean;
2718
+ }>;
2719
+ getThroughput(iceServers: IceServerInfo[]): Promise<ThroughputInformation>;
2720
+ getIPDetails(): Promise<IPDetails>;
2721
+ getNetworkQuality(iceServers: IceServerInfo[]): Promise<NetworkQualityInformation>;
2722
+ getNetworkInfo(iceServers: IceServerInfo[], skipConnectivityChecks?: boolean): Promise<NetworkInformation | NetworkInformationWithoutConnectivityData>;
2723
+ }
2724
+ declare class CallStats extends EventEmitter$1 {
2725
+ observer: EventEmitter$1;
2726
+ eventHandler: EventHandler;
2727
+ producers: Map<string, any>;
2728
+ logger: RTKLogger$2;
2729
+ env: ClientEnvTypeAll;
2730
+ apiHostnames: ApiHostnames;
2731
+ peerId: string;
2732
+ consumerSharedMediaStatesMap: Map<string, {
2733
+ audio?: boolean;
2734
+ video?: boolean;
2735
+ screen?: boolean;
2736
+ }>;
2737
+ currentUserMediaStates: {
2738
+ audio?: boolean;
2739
+ video?: boolean;
2740
+ screen?: boolean;
2741
+ };
2742
+ constructor(backendUrl: string, engineName: string, env: ClientEnvTypeAll, flags: InhouseCallStatsInitializeParams['flags'], logger: RTKLogger$2, peerId: string, apiHostnames: ApiHostnames);
2743
+ registerIceServers(servers: IceServerInfo[]): void;
2744
+ sendConsumerSharedMediaStateEvent(consumerId: string, statusObj: {
2745
+ audio?: boolean;
2746
+ video?: boolean;
2747
+ screen?: boolean;
2748
+ }): void;
2749
+ registerProducingTransport(transport: any): void;
2750
+ registerConsumingTransport(transport: any): void;
2751
+ disconnectConsumingTransport(): void;
2752
+ disconnectProducingTransport(): void;
2753
+ sendPreCallTestBeginEvent(skipConnectivityChecks: boolean, timestamp: Date): void;
2754
+ sendScreenShareToggleEvent(on: boolean, ssrc: number, timestamp: Date): void;
2755
+ sendScreenShareRequestedEvent(timestamp: Date): void;
2756
+ sendActiveSpeakerEvent(peerId: string, timestamp: Date): void;
2757
+ devices(deviceType: MediaDeviceTypeAll, deviceList: MediaDeviceInfo[], timestamp: Date): void;
2758
+ selectedDevice(deviceType: MediaDeviceTypeAll, device: MediaDeviceInfo, timestamp: Date): void;
2759
+ mediaPermission(deviceType: MediaDeviceTypeAll, permission: MediaPermissions$1, timestamp: Date): void;
2760
+ mediaPlaybackFailed(deviceType: MediaDeviceTypeAll, timestamp: Date): void;
2761
+ mediaTrackMuted(deviceType: MediaDeviceTypeAll, timestamp: Date): void;
2762
+ tabChanged(isMeetingsTabActive: boolean, timestamp: Date): void;
2763
+ browserBackgrounded(timestamp: Date): void;
2764
+ browserForegrounded(timestamp: Date): void;
2765
+ legacySwitch(on: boolean, timestamp: Date): void;
2766
+ getPreCallTestResults(): Promise<NetworkInformation | NetworkInformationWithoutConnectivityData>;
2767
+ sendCallJoinBeginEvent(peerMetaData: PeerMetaData, timestamp: Date): void;
2768
+ sendNetworkQualityTestBeginEvent(regionalInformations: RegionalIceInformation[], timestamp: Date): void;
2769
+ sendWebSocketConnectedEvent(timestamp: Date): void;
2770
+ sendTransportConnectedEvent(timestamp: Date): void;
2771
+ sendAudioToggleEvent(on: boolean, timestamp: Date): void;
2772
+ sendVideoToggleEvent(on: boolean, timestamp: Date): void;
2773
+ sendParticipantRoleToggleEvent(role: ParticipantRoleData, timestamp: Date): void;
2774
+ startPingStats(interval?: number): void;
2775
+ stopPingStats(): void;
2776
+ sendPingStatsEvent(optimize: boolean, timestamp: Date): Promise<void>;
2777
+ sendIVSPlayerRebufferEvent(timestamp: Date): void;
2778
+ sendIVSPlayerAudioBlockEvent(timestamp: Date): void;
2779
+ sendIVSPlayerPlaybackBlockedEvent(timestamp: Date): void;
2780
+ sendIVSPlayerNetworkUnavailableEvent(timestamp: Date): void;
2781
+ sendIVSPlayerInitializedEvent(timestamp: Date): void;
2782
+ sendIVSPlayerWorkerErrorEvent(timestamp: Date): void;
2783
+ sendIVSPlayerErrorEvent(payload: IVSPlayerErrorData, timestamp: Date): void;
2784
+ sendIVSPlayerRecoverableErrorEvent(payload: IVSPlayerRecoverableErrorData, timestamp: Date): void;
2785
+ sendIVSPlayerAnalyticsEvent(payload: IVSPlayerAnalyticsEventData, timestamp: Date): void;
2786
+ sendIVSPlayerPlaybackRateChangedEvent(updatedPlaybackRate: number, timestamp: Date): void;
2787
+ sendIVSPlayerQualityChanged(payload: IVSPlayerQualityChangedData, timestamp: Date): void;
2788
+ sendPlayerLiveLatency(latency: number, timestamp: Date): void;
2789
+ sendDisconnectEvent(timestamp: Date): void;
2790
+ sendReconnectEvent(timestamp: Date): void;
2791
+ expectedVideoResolution(frameWidth: number, frameHeight: number, timestamp: Date): void;
2792
+ expectedScreenshareResolution(frameWidth: number, frameHeight: number, timestamp: Date): void;
2793
+ }
2794
+ declare class InhouseCallStats extends EventEmitter$1 {
2795
+ stats: any;
2796
+ peerId: string;
2797
+ backend: CallStats;
2798
+ iceServers: IceServerInfo[];
2799
+ initialized: boolean;
2800
+ stalled: boolean;
2801
+ ipInformation: Object;
2802
+ logger: RTKLogger$2;
2803
+ initialize({ peerId, engineName, env, iceServers, apiBase, flags, logger, apiHostnames, skipConnectivityChecks, }: InhouseCallStatsInitializeParams): Promise<void>;
2804
+ configureSendTransport(sendTransport: any): void;
2805
+ configureRecvTransport(recvTransport: any): void;
2806
+ candidateRegionalNetworkQualityTest(regionalIceServersInfo: RegionalIceInformation[]): Promise<void>;
2807
+ roomJoined(peerData: PeerMetaData$1): Promise<void>;
2808
+ audioOff(): void;
2809
+ audioOn(): void;
2810
+ videoOff(): void;
2811
+ videoOn(): void;
2812
+ callEnded(): void;
2813
+ screenShareStart(ssrc?: number): void;
2814
+ consumerSharedMediaState(consumerId: string, statusObj: {
2815
+ audio?: boolean;
2816
+ video?: boolean;
2817
+ screen?: boolean;
2818
+ }): void;
2819
+ screenShareStop(ssrc?: number): void;
2820
+ screenShareRequested(): void;
2821
+ activeSpeaker(peerId: string): void;
2822
+ devices(deviceType: MediaDeviceTypeAll, deviceList: MediaDeviceInfo[]): void;
2823
+ selectedDevice(deviceType: MediaDeviceTypeAll, device: MediaDeviceInfo): void;
2824
+ mediaPermission(deviceType: MediaDeviceTypeAll, permission: MediaPermissions$1): void;
2825
+ mediaPlaybackFailed(deviceType: MediaDeviceTypeAll): void;
2826
+ mediaTrackMuted(deviceType: MediaDeviceTypeAll): void;
2827
+ tabChanged(isMeetingsTabActive?: boolean): void;
2828
+ browserBackgrounded(): void;
2829
+ browserForegrounded(): void;
2830
+ legacySwitch(on: boolean): void;
2831
+ startPreCallTest(skipConnectivityChecks?: boolean): Promise<void>;
2832
+ onPreCallTestResults(fx: any): any;
2833
+ onReceivingConsumerAudioStatus(fx: any): void;
2834
+ onReceivingConsumerVideoStatus(fx: any): void;
2835
+ onReceivingProducerAudioStatus(fx: any): void;
2836
+ onReceivingProducerVideoStatus(fx: any): void;
2837
+ onReceivingProducingTransportStatus(fx: any): void;
2838
+ onReceivingConsumingTransportStatus(fx: any): void;
2839
+ onProducerScore(fx: any): void;
2840
+ onConsumerScore(fx: any): void;
2841
+ removeInitializationListener(fx: Function): void;
2842
+ stallCallStats(): void;
2843
+ ivsPlayerEvent(type: String, payload: any): void;
2844
+ livestreamLatency(latency: number): void;
2845
+ expectedVideoResolution(frameWidth: number, frameHeight: number): void;
2846
+ expectedScreenshareResolution(frameWidth: number, frameHeight: number): void;
2847
+ }
1864
2848
  interface RTKBasicParticipant {
1865
2849
  userId: string;
1866
2850
  name?: string;
@@ -1971,50 +2955,11 @@ declare class RTKPip extends RTKTypedEventEmitter<PipEvents> {
1971
2955
  enable(): void;
1972
2956
  disable: (partial?: boolean) => void;
1973
2957
  }
1974
- interface AudioProducerScoreStats {
1975
- score: number;
1976
- packetsLostPercentage: number;
1977
- jitter: number;
1978
- isScreenShare: boolean;
1979
- bitrate: number;
1980
- }
1981
- interface VideoProducerScoreStats {
1982
- score: number;
1983
- frameWidth: number;
1984
- frameHeight: number;
1985
- framesPerSecond: number;
1986
- packetsLostPercentage: number;
1987
- jitter: number;
1988
- isScreenShare: boolean;
1989
- bitrate: number;
1990
- cpuLimitations: boolean;
1991
- bandwidthLimitations: boolean;
1992
- }
1993
- interface AudioConsumerScoreStats {
1994
- score: number;
1995
- packetsLostPercentage: number;
1996
- jitter: number;
1997
- isScreenShare: boolean;
1998
- bitrate: number;
1999
- }
2000
- interface VideoConsumerScoreStats {
2001
- score: number;
2002
- frameWidth: number;
2003
- frameHeight: number;
2004
- framesPerSecond: number;
2005
- packetsLostPercentage: number;
2006
- jitter: number;
2007
- isScreenShare: boolean;
2008
- bitrate: number;
2009
- }
2010
- type ProducerScoreStats = AudioProducerScoreStats | VideoProducerScoreStats;
2011
- type ConsumerScoreStats = AudioConsumerScoreStats | VideoConsumerScoreStats;
2012
2958
  type EventHandlerTypes = PeerInfoResponse | GetWaitingRoomRequests | RecordingEvent | UpdatePeersPresetResponse | PeerJoinBroadcastResponse | PeerJoinCompleteResponse | GlobalPeerPinningBroadcastResponse | PeerLeaveResponse | SelectedPeersResponse | SelectedPeersDiffResponse;
2013
2959
  declare class RoomSocketHandler {
2014
2960
  socket: SocketService;
2015
- static create(socket: SocketService, context: Context<RTKContextState>): RoomSocketHandler;
2016
- static cleanup(): void;
2017
- constructor(socketService: SocketService, context: Context<RTKContextState>);
2961
+ cleanup(): Promise<void>;
2962
+ constructor(context: Context<RTKContextState>, socketService: SocketService);
2018
2963
  joinRoom(opts: {
2019
2964
  name: string;
2020
2965
  id: string;
@@ -2059,6 +3004,28 @@ declare class EnhancedEventEmitter<TransportPromiseEvents> extends EventEmitter
2059
3004
  safeEmitAsPromise<T extends keyof TransportPromiseEvents>(event: T, ...args: any[]): Promise<TransportPromiseEvents[T]>;
2060
3005
  safeEmitAsPromiseWithTimeout<T extends keyof TransportPromiseEvents>(event: T, timeout: number, ...args: any[]): Promise<TransportPromiseEvents[T]>;
2061
3006
  }
3007
+ declare enum TransportState {
3008
+ NEW = "new",
3009
+ CONNECTING = "connecting",
3010
+ RECONNECTING = "reconnecting",
3011
+ DISCONNECTED = "disconnected",
3012
+ CONNECTED = "connected",
3013
+ FAILED = "failed",
3014
+ CLOSED = "closed"
3015
+ }
3016
+ declare enum MediaNodeType {
3017
+ HIVE = 1,
3018
+ ROOM_NODE = 2,
3019
+ CF = 3
3020
+ }
3021
+ type MediaConnectionState = {
3022
+ recv: {
3023
+ state: string;
3024
+ };
3025
+ send: {
3026
+ state: string;
3027
+ };
3028
+ };
2062
3029
  interface GenericHandlerResult {
2063
3030
  offerSdp: RTCSessionDescriptionInit;
2064
3031
  callback: (answer: RTCSessionDescriptionInit) => Promise<any>;
@@ -2091,6 +3058,7 @@ declare abstract class HandlerInterface<TransportPromiseEvents> extends Enhanced
2091
3058
  enableHighBitrate: boolean;
2092
3059
  enableStereo: boolean;
2093
3060
  enableDtx: boolean;
3061
+ sfu: MediaNodeType;
2094
3062
  readonly midTransceiverMap: Map<string, RTCRtpTransceiver>;
2095
3063
  abstract readonly name: string;
2096
3064
  close(): void;
@@ -2113,28 +3081,6 @@ type DCMessage = {
2113
3081
  type: string;
2114
3082
  payload: Record<string, unknown>;
2115
3083
  };
2116
- declare enum TransportState {
2117
- NEW = "new",
2118
- CONNECTING = "connecting",
2119
- RECONNECTING = "reconnecting",
2120
- DISCONNECTED = "disconnected",
2121
- CONNECTED = "connected",
2122
- FAILED = "failed",
2123
- CLOSED = "closed"
2124
- }
2125
- declare enum MediaNodeType {
2126
- HIVE = 1,
2127
- ROOM_NODE = 2,
2128
- CF = 3
2129
- }
2130
- type MediaConnectionState = {
2131
- recv: {
2132
- state: string;
2133
- };
2134
- send: {
2135
- state: string;
2136
- };
2137
- };
2138
3084
  type TransportPromiseEvents = {
2139
3085
  'close': {
2140
3086
  answer: RTCSessionDescriptionInit;
@@ -2277,6 +3223,7 @@ type SelfEvents = {
2277
3223
  ['roomJoined']: (payload: {
2278
3224
  reconnected: boolean;
2279
3225
  }) => void;
3226
+ ['autoplayError']: (error: Error) => void;
2280
3227
  ['*']: (event: string, ...args: any[]) => void;
2281
3228
  };
2282
3229
  interface DeviceConfig {
@@ -2426,19 +3373,19 @@ declare class RTKMeta$1 extends RTKTypedEventEmitter<MetaEvents> {
2426
3373
  setBroadcastTabChanges(broadcastTabChanges: boolean): void;
2427
3374
  setSelfActiveTab(spotlightTab: ActiveTab, tabChangeSource: TabChangeSource): void;
2428
3375
  }
2429
- interface RTKMapEvents<T extends EventMap> {
3376
+ interface RTKMapEvents<T extends EventMap$1> {
2430
3377
  onAddEvent?: keyof T;
2431
3378
  onDeleteEvent?: keyof T;
2432
3379
  onClearEvent?: keyof T;
2433
3380
  }
2434
- type ModifyPrependObject<T extends EventMap, U> = {
3381
+ type ModifyPrependObject<T extends EventMap$1, U> = {
2435
3382
  [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>;
2436
3383
  } & {
2437
3384
  ['*']: (event: String, ...args: any[]) => void;
2438
3385
  };
2439
- declare class RTKMap<T extends (EventMap & WildCardEvent<T>), U extends {
3386
+ declare class RTKMap<T extends (EventMap$1 & WildCardEvent<T>), U extends {
2440
3387
  id: string;
2441
- } & RTKTypedEventEmitter<T>, V extends EventMap> extends Map<string, U> {
3388
+ } & RTKTypedEventEmitter<T>, V extends EventMap$1> extends Map<string, U> {
2442
3389
  readonly onAddEvent: keyof V;
2443
3390
  readonly onDeleteEvent: keyof V;
2444
3391
  readonly onClearEvent: keyof V;
@@ -3539,9 +4486,10 @@ declare class BrowserCapabilities extends BrowserDetection {
3539
4486
  isIOSMobile(): boolean;
3540
4487
  }
3541
4488
  declare class RTKFeatures {
3542
- static hasFeature(featureName: string): boolean;
3543
- static getFeatureValue(featureName: string): _dyteinternals_utils.RTKFlagValues;
3544
- static getAllFeatures(): {
4489
+ constructor(context: Context<RTKContextState>);
4490
+ hasFeature(featureName: string): boolean;
4491
+ getFeatureValue(featureName: string): _dyteinternals_utils.RTKFlagValues;
4492
+ getAllFeatures(): {
3545
4493
  [x: string]: _dyteinternals_utils.RTKFlagsEntry;
3546
4494
  };
3547
4495
  }
@@ -3864,11 +4812,11 @@ declare class RTKLogger$1 {
3864
4812
  }
3865
4813
  declare class RTKInternals {
3866
4814
  logger: typeof RTKLogger$1;
3867
- features: typeof RTKFeatures;
4815
+ features: RTKFeatures;
3868
4816
  browserSpecs: BrowserCapabilities;
3869
- callStats: any;
3870
- constructor(logger: typeof RTKLogger$1, features: typeof RTKFeatures, callStats: any);
3871
- static init(callstats: any): RTKInternals;
4817
+ callStats: InhouseCallStats;
4818
+ constructor(logger: typeof RTKLogger$1, features: RTKFeatures, callStats: any);
4819
+ static init(context: Context<RTKContextState>): RTKInternals;
3872
4820
  }
3873
4821
  type StoreData = {
3874
4822
  [type: string]: any;
@@ -3992,6 +4940,113 @@ declare class MediaNodeClient {
3992
4940
  handlePeerCapabilities(peerId: string, capabilities: PeerRtpCapabilitites): void;
3993
4941
  handlePeerLeaving(peerId: string): void;
3994
4942
  }
4943
+ interface SocketServicePayload {
4944
+ payload: any;
4945
+ }
4946
+ interface ConnectedMeetingParticipant {
4947
+ id?: string;
4948
+ customParticipantId?: string;
4949
+ presetId?: string;
4950
+ displayName?: string;
4951
+ displayPictureUrl?: string;
4952
+ }
4953
+ interface ConnectedMeeting {
4954
+ id?: string;
4955
+ title?: string;
4956
+ participants: ConnectedMeetingParticipant[];
4957
+ }
4958
+ declare class ConnectedMeetingsSocketHandler {
4959
+ socketService: SocketService;
4960
+ constructor(socketService: SocketService);
4961
+ handleConnectedRoomsDumpRaw({ payload }: SocketServicePayload): {
4962
+ parentMeeting: ConnectedMeeting;
4963
+ meetings: ConnectedMeeting[];
4964
+ };
4965
+ handleTransferPeerRaw({ payload }: SocketServicePayload): {
4966
+ authToken: string;
4967
+ meetingId: string;
4968
+ };
4969
+ handleMovedPeerRaw({ payload }: SocketServicePayload): {
4970
+ meetingId: string;
4971
+ customParticipantId: string;
4972
+ };
4973
+ handleConnectedRoomsUpdatedRaw({ payload }: SocketServicePayload): {
4974
+ id: string;
4975
+ title: string;
4976
+ }[];
4977
+ handleConnectedRoomsDeletedRaw({ payload }: SocketServicePayload): {
4978
+ id: string;
4979
+ }[];
4980
+ getConnectedRoomsDump(): Promise<{
4981
+ parentMeeting: ConnectedMeeting;
4982
+ meetings: ConnectedMeeting[];
4983
+ }>;
4984
+ createConnectedRooms(request: CreateRoomRequestPayload[]): Promise<{
4985
+ id: string;
4986
+ title: string;
4987
+ }[]>;
4988
+ updateConnectedRooms(request: UpdateRoomRequestPayload[]): Promise<void>;
4989
+ disableConnectedRooms(meetingIds: string[]): Promise<{
4990
+ id: string;
4991
+ }[]>;
4992
+ movePeersBetweenRooms(request: MovePeersBetweenRoomsRequest): Promise<{
4993
+ success: boolean;
4994
+ error?: undefined;
4995
+ } | {
4996
+ success: boolean;
4997
+ error: any;
4998
+ }>;
4999
+ }
5000
+ type ConnectedMeetingsEvents = {
5001
+ ['meetingChanged']: (meeting: RealtimeKitClient) => void;
5002
+ ['stateUpdate']: (payload: {
5003
+ meetings: ConnectedMeeting[];
5004
+ parentMeeting: ConnectedMeeting;
5005
+ }) => void;
5006
+ ['changingMeeting']: (meetingId: string) => void;
5007
+ ['*']: (eventName: string, ...args: any[]) => void;
5008
+ };
5009
+ declare class RTKConnectedMeetings$1 extends RTKTypedEventEmitter<ConnectedMeetingsEvents> {
5010
+ constructor(context: Context<RTKContextState>);
5011
+ meetings: ConnectedMeeting[];
5012
+ parentMeeting: ConnectedMeeting;
5013
+ readonly supportsConnectedMeetings: boolean;
5014
+ readonly isActive: boolean;
5015
+ getConnectedMeetings(): Promise<{
5016
+ parentMeeting: ConnectedMeeting;
5017
+ meetings: ConnectedMeeting[];
5018
+ }>;
5019
+ createMeetings(request: {
5020
+ title: string;
5021
+ }[]): Promise<{
5022
+ id: string;
5023
+ title: string;
5024
+ }[]>;
5025
+ updateMeetings(request: {
5026
+ id: string;
5027
+ title: string;
5028
+ }[]): Promise<void>;
5029
+ deleteMeetings(meetingIds: string[]): Promise<{
5030
+ id: string;
5031
+ }[]>;
5032
+ moveParticipants(sourceMeetingId: string, destinationMeetingId: string, participantIds: string[]): Promise<{
5033
+ success: boolean;
5034
+ error?: undefined;
5035
+ } | {
5036
+ success: boolean;
5037
+ error: any;
5038
+ }>;
5039
+ moveParticipantsWithCustomPreset(sourceMeetingId: string, destinationMeetingId: string, participants: {
5040
+ id: string;
5041
+ presetId: string;
5042
+ }[]): Promise<{
5043
+ success: boolean;
5044
+ error?: undefined;
5045
+ } | {
5046
+ success: boolean;
5047
+ error: any;
5048
+ }>;
5049
+ }
3995
5050
  interface Modules {
3996
5051
  pip?: boolean;
3997
5052
  chat?: boolean;
@@ -4020,6 +5075,7 @@ interface Modules {
4020
5075
  staggered?: boolean;
4021
5076
  }[];
4022
5077
  };
5078
+ experimentalAudioPlayback?: boolean;
4023
5079
  }
4024
5080
  interface DefaultOptions {
4025
5081
  video?: boolean;
@@ -4040,17 +5096,17 @@ interface RoomDetails {
4040
5096
  meetingTitle: string;
4041
5097
  useHiveMedia: boolean;
4042
5098
  }
4043
- declare class ConnectionHandler {
4044
- mediaJoined: boolean;
4045
- socketJoined: boolean;
4046
- socketJoinAttempted: boolean;
4047
- mediaJoinAttempted: boolean;
4048
- socketState: SocketConnectionState;
4049
- mediaState: MediaConnectionState;
4050
- readonly joinAttempted: boolean;
4051
- readonly roomJoined: boolean;
4052
- constructor();
4053
- updateSocketConnectionState(state: SocketStateEvent, attempt?: number): void;
5099
+ declare class ConnectionHandler {
5100
+ mediaJoined: boolean;
5101
+ socketJoined: boolean;
5102
+ socketJoinAttempted: boolean;
5103
+ mediaJoinAttempted: boolean;
5104
+ socketState: SocketConnectionState;
5105
+ mediaState: MediaConnectionState;
5106
+ readonly joinAttempted: boolean;
5107
+ readonly roomJoined: boolean;
5108
+ constructor(context: Context<RTKContextState>);
5109
+ updateSocketConnectionState(state: SocketStateEvent, attempt?: number): void;
4054
5110
  }
4055
5111
  declare const ERROR_CODES: {
4056
5112
  '0000': string;
@@ -4145,6 +5201,136 @@ declare class RTKError extends Error {
4145
5201
  code: keyof typeof ERROR_CODES;
4146
5202
  constructor(message: string, code?: keyof typeof ERROR_CODES, log?: boolean);
4147
5203
  }
5204
+ type EventMap = {
5205
+ [key: string]: (...args: any[]) => void;
5206
+ };
5207
+ interface TypedEventEmitter<Events extends EventMap> {
5208
+ addListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5209
+ on<E extends keyof Events>(event: E, listener: Events[E]): this;
5210
+ onAsync<E extends keyof Events>(event: E, listener: Events[E]): this;
5211
+ once<E extends keyof Events>(event: E, listener: Events[E]): this;
5212
+ prependListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5213
+ prependOnceListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5214
+ off<E extends keyof Events>(event: E, listener: Events[E]): this;
5215
+ removeAllListeners<E extends keyof Events>(event?: E): this;
5216
+ removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5217
+ emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): void;
5218
+ emitAsync<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): Promise<void>;
5219
+ eventNames(): (keyof Events | string | symbol)[];
5220
+ rawListeners<E extends keyof Events>(event: E): Events[E][];
5221
+ listeners<E extends keyof Events>(event: E): Events[E][];
5222
+ listenerCount<E extends keyof Events>(event: E): number;
5223
+ getMaxListeners(): number;
5224
+ setMaxListeners(maxListeners: number): this;
5225
+ reset(): void;
5226
+ }
5227
+ declare enum SessionEvents {
5228
+ NEW_PRODUCER = "NEW_PRODUCER",
5229
+ PRODUCER_TRACK_ENDED = "PRODUCER_TRACK_ENDED",
5230
+ ROOM_NODE_CONNECTION_ERROR = "ROOM_NODE_CONNECTION_ERROR",
5231
+ SOCKET_SERVICE_ROOM_JOINED = "SOCKET_SERVICE_ROOM_JOINED",
5232
+ SOCKET_SERVICE_RECONNECTED = "SOCKET_SERVICE_RECONNECTED",
5233
+ SOCKET_SERVICE_DISCONNECTED = "SOCKET_SERVICE_DISCONNECTED",
5234
+ SOCKET_SERVICE_FAILED = "SOCKET_SERVICE_FAILED",
5235
+ SOCKET_STATE_UPDATE = "SOCKET_STATE_UPDATE",
5236
+ ROOM_NODE_RECONNECTED = "ROOM_NODE_RECONNECTED",
5237
+ ROOM_NODE_DISCONNECTED = "ROOM_NODE_DISCONNECTED",
5238
+ ROOM_NODE_FAILED = "ROOM_NODE_FAILED",
5239
+ TRANSPORT_STATE_UPDATE = "TRANSPORT_STATE_UPDATE",
5240
+ PRODUCER_SCORE_UPDATE = "PRODUCER_SCORE_UPDATE",
5241
+ CONSUMER_SCORE_UPDATE = "CONSUMER_SCORE_UPDATE",
5242
+ PRODUCER_STATUS_UPDATE = "PRODUCER_STATUS_UPDATE",
5243
+ CONSUMER_STATUS_UPDATE = "CONSUMER_STATUS_UPDATE",
5244
+ LOW_PRODUCER_SCORE = "LOW_PRODUCER_SCORE",
5245
+ LOW_CONSUMER_SCORE = "LOW_CONSUMER_SCORE",
5246
+ MEDIA_PERMISSION_ERROR = "MEDIA_PERMISSION_ERROR",
5247
+ MEDIA_PERMISSION_UPDATE = "MEDIA_PERMISSION_UPDATE",
5248
+ WAITLISTED = "WAIT_LISTED",
5249
+ MESSAGE = "websocket/message",
5250
+ ROOM_MESSAGE = "websocket/room-message",
5251
+ PEER_JOINED_INTERNAL = "peer/joined-internal",
5252
+ PEER_CLOSED = "websocket/peer-closed",
5253
+ CONSUMER_CLOSED = "websocket/consumer-closed",
5254
+ CONSUMER_PAUSED = "websocket/consumer-paused",
5255
+ CONSUMER_RESUMED = "websocket/consumer-resumed",
5256
+ PRODUCER_CLOSED = "websocket/producer-closed",
5257
+ NEW_CONSUMER = "websocket/new-consumer",
5258
+ PRODUCER_SCORE = "websocket/producer-score",
5259
+ CONSUMER_SCORE = "websocket/consumer-score",
5260
+ PRODUCER_TOGGLE = "hive/producer-toggle",
5261
+ CONSUMER_TOGGLE = "hive/consumer-toggle",
5262
+ SELECTED_PEERS_DIFF = "hive/selected-peers-diff",
5263
+ UPDATE_ACTIVE = "media/update-active",
5264
+ RESET_PRODUCER_STATE = "hive/reset-producer-state",
5265
+ CF_TRANSPORT_STATE_CHANGED = "cf/transport-state-changed",
5266
+ CF_ROOM_REJOINING = "cf/room-rejoining",
5267
+ CF_ROOM_REJOIN_FAILED = "cf/room-rejoining-failed",
5268
+ CF_ROOM_REJOINED = "cf/room-rejoined",
5269
+ CF_TRANPSORT_RECONNECTING = "cf/transport-reconnecting",
5270
+ ROOM_STATE = "sockethub/room-state",
5271
+ PEER_DISPLAY_NAME_CHANGED = "hive/display-name-changed",
5272
+ GET_STAGE_REQUESTS = "GET_STAGE_REQUESTS",
5273
+ UPDATE_STAGE_REQUESTS = "UPDATE_STAGE_REQUESTS",
5274
+ KICK_PEER = "KICK_PEER",
5275
+ UPDATE_PEER_STAGE_STATUS = "UPDATE_PEER_STAGE_STATUS",
5276
+ JOIN_MEDIA_ROOM = "JOIN_MEDIA_ROOM",
5277
+ LEAVE_MEDIA_ROOM = "LEAVE_MEDIA_ROOM",
5278
+ PIP_HANGUP = "PIP_HANGUP",
5279
+ E2EE_ACTIVE_PRODUCER = "E2EE_ACTIVE_PRODUCER",
5280
+ E2EE_INACTIVE_PRODUCER = "E2EE_INACTIVE_PRODUCER",
5281
+ E2EE_ACTIVE_CONSUMER = "E2EE_ACTIVE_CONSUMER",
5282
+ E2EE_INACTIVE_CONSUMER = "E2EE_INACTIVE_CONSUMER",
5283
+ SOCKET_PEERS = "SOCKET_PEERS",
5284
+ UPDATE_PERMISSIONS = "UPDATE_PERMISSIONS",
5285
+ MAX_SPATIAL_LAYER_CHANGE = "MAX_SPATIAL_LAYER_CHANGE",
5286
+ MUTE_SELF = "MUTE_SELF",
5287
+ MUTE_SELF_VIDEO = "MUTE_SELF_VIDEO"
5288
+ }
5289
+ type AllEvents = {
5290
+ [key in SessionEvents]: (payload?: any) => void;
5291
+ };
5292
+ type TypedEvents = {
5293
+ [SessionEvents.UPDATE_PERMISSIONS]: (p: PresetUpdates) => void;
5294
+ [SessionEvents.MAX_SPATIAL_LAYER_CHANGE]: (p: {
5295
+ peerId: string;
5296
+ maxSpatialLayer: number;
5297
+ }) => void;
5298
+ [SessionEvents.UPDATE_ACTIVE]: (p?: {
5299
+ page?: number;
5300
+ createAllConsumers?: boolean;
5301
+ }) => void;
5302
+ [SessionEvents.PEER_JOINED_INTERNAL]: (p: RTKParticipant$1) => void;
5303
+ [SessionEvents.UPDATE_PEER_STAGE_STATUS]: (p: {
5304
+ id: string;
5305
+ status: string;
5306
+ }) => void;
5307
+ [SessionEvents.GET_STAGE_REQUESTS]: (stageRequests: StageRequest[]) => void;
5308
+ [SessionEvents.UPDATE_STAGE_REQUESTS]: (payload: {
5309
+ request: StageRequestPayload;
5310
+ add: boolean;
5311
+ }) => void;
5312
+ [SessionEvents.KICK_PEER]: (payload: {
5313
+ peerId: string;
5314
+ }) => void;
5315
+ [SessionEvents.JOIN_MEDIA_ROOM]: () => void;
5316
+ [SessionEvents.LEAVE_MEDIA_ROOM]: (state: LeaveRoomState) => void;
5317
+ };
5318
+ type UntypedEvents = Pick<AllEvents, Exclude<keyof AllEvents, keyof TypedEvents>>;
5319
+ type SessionEventsType = TypedEvents & UntypedEvents;
5320
+ type ErrorCallback = (error: Error) => void;
5321
+ declare class AudioPlayback {
5322
+ constructor();
5323
+ playTracks(tracks: MediaStreamTrack[]): Promise<void>;
5324
+ setSpeakerDevice(deviceId: string): void;
5325
+ removeTrack(trackId: string): void;
5326
+ play(): Promise<void>;
5327
+ onError(callback: ErrorCallback): void;
5328
+ }
5329
+ declare class AudioPlaybackManager extends AudioPlayback {
5330
+ constructor();
5331
+ addParticipantTrack(participantId: string, track: MediaStreamTrack): void;
5332
+ removeParticipantTrack(participantId: string): void;
5333
+ }
4148
5334
  type RTKContextState = {
4149
5335
  authToken: string;
4150
5336
  peerId?: string;
@@ -4172,8 +5358,17 @@ type RTKContextState = {
4172
5358
  env?: ClientEnvTypeAll;
4173
5359
  sdkVersion?: string;
4174
5360
  sdkName?: 'web-core';
5361
+ callstats?: InhouseCallStats;
4175
5362
  connectionHandler?: ConnectionHandler;
4176
5363
  cachedUserDetails?: CachedUserDetails;
5364
+ peerSessionStore?: TypedEventEmitter<SessionEventsType>;
5365
+ flagsmith?: ReturnType<typeof createNewFlagsmithInstance>;
5366
+ roomSocketHandler?: RoomSocketHandler;
5367
+ connectedMeetingsSocketHandler?: ConnectedMeetingsSocketHandler;
5368
+ audioPlayback?: AudioPlaybackManager;
5369
+ options?: RealtimeKitClientOptions;
5370
+ self?: RTKSelf;
5371
+ meeting?: RealtimeKitClient;
4177
5372
  };
4178
5373
  interface Context<T extends Record<string, any>> {
4179
5374
  subscribe: (key: keyof T, listener: (value: any) => void) => () => void;
@@ -4349,6 +5544,7 @@ declare class RTKSelf$1 extends RTKSelfMedia {
4349
5544
  show(): void;
4350
5545
  setDevice(device: MediaDeviceInfo): Promise<void>;
4351
5546
  cleanUpTracks(): void;
5547
+ playAudio(): Promise<void>;
4352
5548
  registerVideoElement(videoElem: HTMLVideoElement, isPreview?: boolean): void;
4353
5549
  deregisterVideoElement(videoElem?: HTMLVideoElement, isPreview?: boolean): void;
4354
5550
  }
@@ -4501,69 +5697,6 @@ declare class API {
4501
5697
  setRoomUUID(id: string): void;
4502
5698
  setOrganizationId(id: string): void;
4503
5699
  }
4504
- interface ConnectedMeetingParticipant {
4505
- id?: string;
4506
- customParticipantId?: string;
4507
- presetId?: string;
4508
- displayName?: string;
4509
- displayPictureUrl?: string;
4510
- }
4511
- interface ConnectedMeeting {
4512
- id?: string;
4513
- title?: string;
4514
- participants: ConnectedMeetingParticipant[];
4515
- }
4516
- type ConnectedMeetingsEvents = {
4517
- ['meetingChanged']: (meeting: RealtimeKitClient) => void;
4518
- ['stateUpdate']: (payload: {
4519
- meetings: ConnectedMeeting[];
4520
- parentMeeting: ConnectedMeeting;
4521
- }) => void;
4522
- ['changingMeeting']: (meetingId: string) => void;
4523
- ['*']: (eventName: string, ...args: any[]) => void;
4524
- };
4525
- declare class RTKConnectedMeetings$1 extends RTKTypedEventEmitter<ConnectedMeetingsEvents> {
4526
- constructor(context: Context<RTKContextState>, meeting: RealtimeKitClient);
4527
- meetings: ConnectedMeeting[];
4528
- parentMeeting: ConnectedMeeting;
4529
- readonly supportsConnectedMeetings: boolean;
4530
- readonly isActive: boolean;
4531
- readonly currentMeetingId: string;
4532
- getConnectedMeetings(): Promise<{
4533
- parentMeeting: ConnectedMeeting;
4534
- meetings: ConnectedMeeting[];
4535
- }>;
4536
- createMeetings(request: {
4537
- title: string;
4538
- }[]): Promise<{
4539
- id: string;
4540
- title: string;
4541
- }[]>;
4542
- updateMeetings(request: {
4543
- id: string;
4544
- title: string;
4545
- }[]): Promise<void>;
4546
- deleteMeetings(meetingIds: string[]): Promise<{
4547
- id: string;
4548
- }[]>;
4549
- moveParticipants(sourceMeetingId: string, destinationMeetingId: string, participantIds: string[]): Promise<{
4550
- success: boolean;
4551
- error?: undefined;
4552
- } | {
4553
- success: boolean;
4554
- error: any;
4555
- }>;
4556
- moveParticipantsWithCustomPreset(sourceMeetingId: string, destinationMeetingId: string, participants: {
4557
- id: string;
4558
- presetId: string;
4559
- }[]): Promise<{
4560
- success: boolean;
4561
- error?: undefined;
4562
- } | {
4563
- success: boolean;
4564
- error: any;
4565
- }>;
4566
- }
4567
5700
  interface Overrides {
4568
5701
  disableSimulcast?: boolean;
4569
5702
  forceRelay?: boolean;
@@ -4595,6 +5728,7 @@ declare class RealtimeKitClient {
4595
5728
  readonly livestream: Readonly<RTKLivestream$1>;
4596
5729
  readonly stage: Readonly<RTKStage>;
4597
5730
  readonly stores: Readonly<RTKStoreManager>;
5731
+ readonly audio: AudioPlaybackManager;
4598
5732
  readonly __internals__: Readonly<RTKInternals>;
4599
5733
  joinRoom(): Promise<void>;
4600
5734
  leaveRoom(state?: LeaveRoomState): Promise<void>;