@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.
package/dist/index.d.ts CHANGED
@@ -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
 
7
8
  declare global {
@@ -50,13 +51,13 @@ declare class RTKEventEmitter<T extends string | symbol> extends EventEmitter {
50
51
  listeners(event: T): Function[];
51
52
  listenerCount(event: T): number;
52
53
  }
53
- type EventMap = {
54
+ type EventMap$1 = {
54
55
  [key: string]: (...args: any[]) => void;
55
56
  };
56
57
  type WildCardEvent<T> = {
57
58
  ['*']: (event: StringKeyOf<T>, ...args: any) => void;
58
59
  };
59
- declare class RTKTypedEventEmitter<Events extends EventMap & WildCardEvent<Events>> extends EventEmitter {
60
+ declare class RTKTypedEventEmitter<Events extends EventMap$1 & WildCardEvent<Events>> extends EventEmitter {
60
61
  constructor();
61
62
  emit<E extends StringKeyOf<Events>>(event: E, ...args: Parameters<Events[E]>): boolean;
62
63
  on<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
@@ -828,6 +829,86 @@ interface RoomInfoResponse {
828
829
  * @generated MessageType for protobuf message socket.room.RoomInfoResponse
829
830
  */
830
831
  declare const RoomInfoResponse: RoomInfoResponse$Type;
832
+ declare class CreateRoomRequestPayload$Type extends MessageType$1<CreateRoomRequestPayload> {
833
+ constructor();
834
+ }
835
+ /**
836
+ * @generated from protobuf message socket.room.CreateRoomRequestPayload
837
+ */
838
+ interface CreateRoomRequestPayload {
839
+ /**
840
+ * @generated from protobuf field: optional string title = 1;
841
+ */
842
+ title?: string;
843
+ }
844
+ /**
845
+ * @generated MessageType for protobuf message socket.room.CreateRoomRequestPayload
846
+ */
847
+ declare const CreateRoomRequestPayload: CreateRoomRequestPayload$Type;
848
+ declare class UpdateRoomRequestPayload$Type extends MessageType$1<UpdateRoomRequestPayload> {
849
+ constructor();
850
+ }
851
+ /**
852
+ * @generated from protobuf message socket.room.UpdateRoomRequestPayload
853
+ */
854
+ interface UpdateRoomRequestPayload {
855
+ /**
856
+ * @generated from protobuf field: optional string meeting_id = 1;
857
+ */
858
+ meetingId?: string;
859
+ /**
860
+ * @generated from protobuf field: optional string title = 2;
861
+ */
862
+ title?: string;
863
+ }
864
+ /**
865
+ * @generated MessageType for protobuf message socket.room.UpdateRoomRequestPayload
866
+ */
867
+ declare const UpdateRoomRequestPayload: UpdateRoomRequestPayload$Type;
868
+ declare class MovePeerPayload$Type extends MessageType$1<MovePeerPayload> {
869
+ constructor();
870
+ }
871
+ /**
872
+ * @generated from protobuf message socket.room.MovePeerPayload
873
+ */
874
+ interface MovePeerPayload {
875
+ /**
876
+ * @generated from protobuf field: optional string id = 1;
877
+ */
878
+ id?: string;
879
+ /**
880
+ * @generated from protobuf field: optional string preset_id = 2;
881
+ */
882
+ presetId?: string;
883
+ }
884
+ /**
885
+ * @generated MessageType for protobuf message socket.room.MovePeerPayload
886
+ */
887
+ declare const MovePeerPayload: MovePeerPayload$Type;
888
+ declare class MovePeersBetweenRoomsRequest$Type extends MessageType$1<MovePeersBetweenRoomsRequest> {
889
+ constructor();
890
+ }
891
+ /**
892
+ * @generated from protobuf message socket.room.MovePeersBetweenRoomsRequest
893
+ */
894
+ interface MovePeersBetweenRoomsRequest {
895
+ /**
896
+ * @generated from protobuf field: optional string source_meeting_id = 1;
897
+ */
898
+ sourceMeetingId?: string;
899
+ /**
900
+ * @generated from protobuf field: optional string destination_meeting_id = 2;
901
+ */
902
+ destinationMeetingId?: string;
903
+ /**
904
+ * @generated from protobuf field: repeated socket.room.MovePeerPayload participants = 3;
905
+ */
906
+ participants: MovePeerPayload[];
907
+ }
908
+ /**
909
+ * @generated MessageType for protobuf message socket.room.MovePeersBetweenRoomsRequest
910
+ */
911
+ declare const MovePeersBetweenRoomsRequest: MovePeersBetweenRoomsRequest$Type;
831
912
  declare class WaitingRoomRequest$Type extends MessageType$1<WaitingRoomRequest> {
832
913
  constructor();
833
914
  }
@@ -1875,7 +1956,916 @@ interface RecordingEvent {
1875
1956
  */
1876
1957
  declare const RecordingEvent: RecordingEvent$Type;
1877
1958
 
1959
+ interface DeviceInfo$1 {
1960
+ isMobile: boolean;
1961
+ browserName: string;
1962
+ browserVersion: string;
1963
+ osName: string;
1964
+ osVersionName: string;
1965
+ engineName: string;
1966
+ userAgent: string;
1967
+ cpus: number;
1968
+ memory?: number;
1969
+ webglSupport?: number;
1970
+ }
1971
+ interface GeoLocation {
1972
+ coords: {
1973
+ latitude: number;
1974
+ longitude: number;
1975
+ };
1976
+ }
1977
+ interface IPDetails {
1978
+ ip: string;
1979
+ city: string;
1980
+ region: string;
1981
+ country: string;
1982
+ loc: string | GeoLocation;
1983
+ org: string;
1984
+ portal: string;
1985
+ timezone: string;
1986
+ }
1987
+ interface ThroughputInformation {
1988
+ throughput: number;
1989
+ fractionalLoss: number;
1990
+ RTT: number;
1991
+ jitter: number;
1992
+ backendRTT: number;
1993
+ }
1994
+ interface IceConnectivity {
1995
+ host: boolean;
1996
+ relay: boolean;
1997
+ reflexive: boolean;
1998
+ }
1999
+ interface NetworkQualityInformation extends ThroughputInformation {
2000
+ connectivity: IceConnectivity;
2001
+ }
2002
+ interface NetworkInformation extends NetworkQualityInformation {
2003
+ ipDetails: IPDetails;
2004
+ location: GeoLocation;
2005
+ turnConnectivity: boolean;
2006
+ effectiveNetworkType: string;
2007
+ }
2008
+ interface NetworkInformationWithoutConnectivityData {
2009
+ ipDetails: IPDetails;
2010
+ location: GeoLocation;
2011
+ effectiveNetworkType: string;
2012
+ }
2013
+ type RTCDtlsTransportState = 'closed' | 'connected' | 'connecting' | 'failed' | 'new';
2014
+ type RTCIceRole = 'controlled' | 'controlling' | 'unknown';
2015
+ interface VideoStreamStats {
2016
+ frameHeight: number;
2017
+ frameWidth: number;
2018
+ droppedFrames?: number;
2019
+ framerateMean?: number;
2020
+ framesDropped: number;
2021
+ framesPerSecond: number;
2022
+ firCount: number;
2023
+ }
2024
+ interface AudioStreamStats {
2025
+ }
2026
+ interface InboundStreamStats {
2027
+ codecId: string;
2028
+ bytesReceived: number;
2029
+ headerBytesReceived: number;
2030
+ packetsReceived: number;
2031
+ packetsLost: number;
2032
+ packetsDiscarded: number;
2033
+ jitter: number;
2034
+ nackCount: number;
2035
+ jitterBufferDelay: number;
2036
+ jitterBufferEmittedCount: number;
2037
+ jitterBufferMinimumDelay: number;
2038
+ jitterBufferTargetDelay: number;
2039
+ lastPacketReceivedTimestamp: number;
2040
+ ssrc: number;
2041
+ mid: string;
2042
+ score?: number;
2043
+ }
2044
+ interface RemoteInboundStreamStats {
2045
+ jitter: number;
2046
+ fractionLost: number;
2047
+ roundTripTime: number;
2048
+ roundTripTimeMeasurements: number;
2049
+ totalRoundTripTime: number;
2050
+ packetsLost: number;
2051
+ localId?: string;
2052
+ }
2053
+ interface OutboundStreamStats {
2054
+ active: boolean;
2055
+ codecId: string;
2056
+ headerBytesSent: number;
2057
+ totalPacketSendDelay: number;
2058
+ bytesSent: number;
2059
+ packetsSent: number;
2060
+ retransmittedBytesSent?: number;
2061
+ retransmittedPacketsSent?: number;
2062
+ remoteData?: RemoteInboundStreamStats;
2063
+ nackCount: number;
2064
+ ssrc: number;
2065
+ mid: string;
2066
+ score?: number;
2067
+ }
2068
+ interface InboundVideoStreamStats extends VideoStreamStats, InboundStreamStats {
2069
+ qpSum: number;
2070
+ totalAssemblyTime: number;
2071
+ totalDecodeTime: number;
2072
+ totalFreezesDuration: number;
2073
+ totalInterFrameDelay: number;
2074
+ totalPausesDuration: number;
2075
+ totalSquaredInterFrameDelay: number;
2076
+ framesDecoded: number;
2077
+ framesDropped: number;
2078
+ keyFramesDecoded: number;
2079
+ freezeCount: number;
2080
+ framesReceived: number;
2081
+ pauseCount: number;
2082
+ pliCount: number;
2083
+ totalProcessingDelay: number;
2084
+ decoderImplementation: string;
2085
+ powerEfficientDecoder: boolean;
2086
+ }
2087
+ interface QualityLimitationDurations {
2088
+ bandwidth: number;
2089
+ cpu: number;
2090
+ none: number;
2091
+ other: number;
2092
+ }
2093
+ interface OutboundVideoStreamStats extends VideoStreamStats, OutboundStreamStats {
2094
+ hugeFramesSent: number;
2095
+ pliCount: number;
2096
+ qpSum: number;
2097
+ framesEncoded: number;
2098
+ framesSent: number;
2099
+ keyFramesEncoded: number;
2100
+ encoderImplementation: string;
2101
+ qualityLimitationReason: string;
2102
+ qualityLimitationResolutionChanges: number;
2103
+ qualityLimitationDurations: QualityLimitationDurations;
2104
+ totalEncodeTime: number;
2105
+ targetBitrate?: number;
2106
+ scalabilityMode: string;
2107
+ powerEfficientEncoder: boolean;
2108
+ }
2109
+ interface InboundAudioStreamStats extends AudioStreamStats, InboundStreamStats {
2110
+ audioLevel: number;
2111
+ concealedSamples: number;
2112
+ concealmentEvents: number;
2113
+ totalAudioEnergy: number;
2114
+ totalSamplesDuration: number;
2115
+ totalSamplesReceived: number;
2116
+ fecPacketsDiscarded: number;
2117
+ fecPacketsReceived: number;
2118
+ insertedSamplesForDeceleration: number;
2119
+ removedSamplesForAcceleration: number;
2120
+ silentConcealedSamples: number;
2121
+ playoutId: string;
2122
+ }
2123
+ interface OutboundAudioStreamStats extends AudioStreamStats, OutboundStreamStats {
2124
+ }
2125
+ interface IceCandidateStats {
2126
+ id: string;
2127
+ type?: string;
2128
+ address?: string;
2129
+ port?: number;
2130
+ relatedAddress?: string;
2131
+ relatedPort?: number;
2132
+ url?: string;
2133
+ protocol?: string;
2134
+ networkType?: string;
2135
+ }
2136
+ interface IceCandidatePairStats {
2137
+ nominated: boolean;
2138
+ currentRoundTripTime?: number;
2139
+ totalRoundTripTime?: number;
2140
+ bytesSent?: number;
2141
+ bytesReceived?: number;
2142
+ bytesDiscardedOnSend?: number;
2143
+ packetsSent?: number;
2144
+ packetsReceived?: number;
2145
+ packetsDiscardedOnSend?: number;
2146
+ availableOutgoingBitrate?: number;
2147
+ availableIncomingBitrate?: number;
2148
+ lastPacketReceivedTimestamp?: number;
2149
+ lastPacketSentTimestamp?: number;
2150
+ localCandidateId?: string;
2151
+ localCandidateType?: string;
2152
+ localCandidateAddress?: string;
2153
+ localCandidatePort?: number;
2154
+ localCandidateRelatedAddress?: string;
2155
+ localCandidateRelatedPort?: number;
2156
+ localCandidateUrl?: string;
2157
+ localCandidateProtocol?: string;
2158
+ localCandidateNetworkType?: string;
2159
+ remoteCandidateId?: string;
2160
+ remoteCandidateType?: string;
2161
+ remoteCandidateAddress?: string;
2162
+ remoteCandidatePort?: number;
2163
+ remoteCandidateUrl?: string;
2164
+ remoteCandidateProtocol?: string;
2165
+ }
2166
+ interface WebRtcTransportStat {
2167
+ bytesReceived?: number;
2168
+ bytesSent?: number;
2169
+ roundTripTime?: number;
2170
+ totalRoundTripTime?: number;
2171
+ availableOutgoingBitrate?: number;
2172
+ availableIncomingBitrate?: number;
2173
+ dtlsCipher?: string;
2174
+ dtlsState?: RTCDtlsTransportState;
2175
+ iceRole?: RTCIceRole;
2176
+ packetsReceived?: number;
2177
+ packetsSent?: number;
2178
+ candidatePairs?: IceCandidatePairStats[];
2179
+ }
2180
+ interface TransportStatistics extends Object {
2181
+ transportId: string;
2182
+ consuming: boolean;
2183
+ producing: boolean;
2184
+ stats: WebRtcTransportStat;
2185
+ }
2186
+ interface ProducerStatistics extends Object {
2187
+ producerId: string;
2188
+ videoStats: OutboundVideoStreamStats[];
2189
+ audioStats: OutboundAudioStreamStats[];
2190
+ appData?: {
2191
+ screenShare?: boolean;
2192
+ supportsRemoteControl?: boolean;
2193
+ };
2194
+ }
2195
+ interface ConsumerStatistics extends Object {
2196
+ consumerId: string;
2197
+ peerId: string;
2198
+ producerId: string;
2199
+ videoStats: InboundVideoStreamStats[];
2200
+ audioStats: InboundAudioStreamStats[];
2201
+ appData: Record<string, unknown>;
2202
+ }
2203
+ interface ProcessedStatsReport {
2204
+ transportReport: TransportStatistics;
2205
+ producerReport: ProducerStatistics[];
2206
+ consumerReport: ConsumerStatistics[];
2207
+ }
2208
+ interface AudioProducerScoreStats {
2209
+ score: number;
2210
+ packetsLostPercentage: number;
2211
+ jitter: number;
2212
+ isScreenShare: boolean;
2213
+ bitrate: number;
2214
+ }
2215
+ interface VideoProducerScoreStats {
2216
+ score: number;
2217
+ frameWidth: number;
2218
+ frameHeight: number;
2219
+ framesPerSecond: number;
2220
+ packetsLostPercentage: number;
2221
+ jitter: number;
2222
+ isScreenShare: boolean;
2223
+ bitrate: number;
2224
+ cpuLimitations: boolean;
2225
+ bandwidthLimitations: boolean;
2226
+ }
2227
+ interface AudioConsumerScoreStats {
2228
+ score: number;
2229
+ packetsLostPercentage: number;
2230
+ jitter: number;
2231
+ isScreenShare: boolean;
2232
+ bitrate: number;
2233
+ }
2234
+ interface VideoConsumerScoreStats {
2235
+ score: number;
2236
+ frameWidth: number;
2237
+ frameHeight: number;
2238
+ framesPerSecond: number;
2239
+ packetsLostPercentage: number;
2240
+ jitter: number;
2241
+ isScreenShare: boolean;
2242
+ bitrate: number;
2243
+ }
2244
+ type ProducerScoreStats = AudioProducerScoreStats | VideoProducerScoreStats;
2245
+ type ConsumerScoreStats = AudioConsumerScoreStats | VideoConsumerScoreStats;
2246
+
2247
+ interface IceServerInfo {
2248
+ urls: string;
2249
+ username: string;
2250
+ credential?: string;
2251
+ /**
2252
+ * Note(ravindra-dyte):
2253
+ * credentialType is deprecated.
2254
+ * https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/credentialType
2255
+ */
2256
+ credentialType?: 'password';
2257
+ }
2258
+ interface RegionalIceInformation {
2259
+ regionId: string;
2260
+ iceServers: IceServerInfo[];
2261
+ }
2262
+ interface ApiHostnames {
2263
+ location: string;
2264
+ locationLegacy: string;
2265
+ daCollector: string;
2266
+ }
1878
2267
  type ClientEnvTypeAll = 'devel' | 'preprod' | 'prod';
2268
+ declare enum MediaDeviceType {
2269
+ AUDIO = "AUDIO",
2270
+ VIDEO = "VIDEO",
2271
+ SPEAKER = "SPEAKER",
2272
+ SCREENSHARE = "SCREENSHARE"
2273
+ }
2274
+ type MediaDeviceTypeAll = keyof typeof MediaDeviceType;
2275
+ interface DeviceInfo {
2276
+ isMobile: boolean;
2277
+ browserName: string;
2278
+ browserVersion: string;
2279
+ osName: string;
2280
+ osVersionName: string;
2281
+ engineName: string;
2282
+ userAgent: string;
2283
+ cpus: number;
2284
+ memory: number;
2285
+ webglSupport?: number;
2286
+ }
2287
+ interface PeerMetaData$1 {
2288
+ metaData: Object;
2289
+ deviceInfo: DeviceInfo;
2290
+ meetingEnv?: string;
2291
+ peerId: string;
2292
+ userId: string;
2293
+ roomUUID: string;
2294
+ permissions: Object;
2295
+ participantRole?: string;
2296
+ roomViewType: string;
2297
+ }
2298
+ /** Similar to what web-core has for media permissions */
2299
+ type MediaPermissions$1 = 'NOT_REQUESTED' | 'ACCEPTED' | 'DENIED' | 'CANCELED' | 'SYSTEM_DENIED' | 'COULD_NOT_START' | 'NO_DEVICES_AVAILABLE';
2300
+ interface InhouseCallStatsInitializeParams {
2301
+ peerId: string;
2302
+ engineName: string;
2303
+ env?: ClientEnvTypeAll;
2304
+ iceServers: any[];
2305
+ apiBase?: string;
2306
+ flags: Record<string, Record<'enabled' | 'value', any>>;
2307
+ logger?: RTKLogger$2;
2308
+ apiHostnames: ApiHostnames;
2309
+ skipConnectivityChecks: boolean;
2310
+ }
2311
+ /**
2312
+ * Note(ravindra-dyte):
2313
+ * This is redundantly added here to avoid circular dependency on web-core build
2314
+ * */
2315
+ declare type LogData$3 = {
2316
+ [key: string]: string | number | boolean | null | undefined | LogData$3;
2317
+ };
2318
+ declare interface RTKLogger$2 {
2319
+ info(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2320
+ error(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2321
+ debug(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2322
+ log(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2323
+ warn(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
2324
+ }
2325
+
2326
+ declare enum Event {
2327
+ PRECALL_TEST_BEGIN = "precall_begin",
2328
+ PRECALL_TEST_COMPLETE = "precall_end",
2329
+ CALL_JOIN_BEGIN = "call_join",
2330
+ NET_QUALITY_TEST_BEGIN = "net_quality_test_begin",
2331
+ NET_QUALITY_TEST_END = "net_quality_test_end",
2332
+ WEBSOCKET_CONNECTED = "websocket_connected",
2333
+ TRANSPORT_CONNECTED = "transport_connected",
2334
+ AUDIO_ON = "audio_on",
2335
+ AUDIO_OFF = "audio_off",
2336
+ VIDEO_ON = "video_on",
2337
+ VIDEO_OFF = "video_off",
2338
+ PARTICIPANT_ROLE = "participant_role",
2339
+ PING_STAT = "ping_stat",
2340
+ DISCONNECT = "disconnect",
2341
+ RECONNECT_ATTEMPT = "reconnect_attempt",
2342
+ SCREENSHARE_START_REQUESTED = "screenshare_start_requested",
2343
+ SCREENSHARE_STARTED = "screenshare_started",
2344
+ SCREENSHARE_STOPPED = "screenshare_stopped",
2345
+ TAB_CHANGE = "tab_change",
2346
+ BROWSER_BACKGROUNDED = "browser_backgrounded",
2347
+ BROWSER_FOREGROUNDED = "browser_foregrounded",
2348
+ DOMINANT_SPEAKER = "dominant_speaker",
2349
+ AUDIO_DEVICES_UPDATES = "audio_devices_updates",
2350
+ VIDEO_DEVICES_UPDATES = "video_devices_updates",
2351
+ SPEAKER_DEVICES_UPDATES = "speaker_devices_updates",
2352
+ SELECTED_MICROHPONE_UPDATE = "selected_microphone_update",
2353
+ SELECTED_CAMERA_UPDATE = "selected_camera_update",
2354
+ SELECTED_SPEAKER_UPDATE = "selected_speaker_update",
2355
+ EXPECTED_VIDEO_RESOLUTION = "expected_video_resolution",
2356
+ EXPECTED_SCREENSHARE_RESOLUTION = "expected_screenshare_resolution",
2357
+ MEDIA_PERMISSION = "media_permission",
2358
+ LEGACY_SWITCH = "legacy_switch",
2359
+ AUDIO_PLAY_FAILED = "audio_play_failed",
2360
+ VIDEO_PLAY_FAILED = "video_play_failed",
2361
+ AUDIO_TRACK_MUTED = "audio_track_muted",
2362
+ VIDEO_TRACK_MUTED = "video_track_muted",
2363
+ IVS_PLAYER_REBUFFERING = "ivs_player_rebuffering",
2364
+ IVS_PLAYER_AUDIO_BLOCKED = "ivs_player_audio_blocked",
2365
+ IVS_PLAYER_PLAYBACK_BLOCKED = "ivs_player_playback_blocked",
2366
+ IVS_PLAYER_ERROR = "ivs_player_error",
2367
+ IVS_PLAYER_RECOVERABLE_ERROR = "ivs_player_recoverable_error",
2368
+ IVS_PLAYER_WORKER_ERROR = "ivs_player_worker_error",
2369
+ IVS_PLAYER_NETWORK_UNAVAILABLE = "ivs_player_network_unavailable",
2370
+ LIVESTREAM_LATENCY = "livestream_latency",
2371
+ IVS_PLAYER_ANALYTICS_EVENT = "ivs_player_analytics_event",
2372
+ IVS_PLAYER_PLAYBACK_RATE_CHANGED = "ivs_player_playback_rate_changed",
2373
+ IVS_PLAYER_QUALITY_CHANGED = "ivs_player_quality_changed",
2374
+ IVS_PLAYER_INITIALIZED = "ivs_player_initialized"
2375
+ }
2376
+ interface PeerMetaData {
2377
+ metaData: Object;
2378
+ deviceInfo: DeviceInfo$1;
2379
+ meetingEnv?: string;
2380
+ peerId: string;
2381
+ userId: string;
2382
+ roomUUID: string;
2383
+ permissions: Object;
2384
+ participantRole?: string;
2385
+ roomViewType: string;
2386
+ }
2387
+ interface EventDataBase extends Object {
2388
+ }
2389
+ interface CallJoinData extends EventDataBase {
2390
+ peerMetaData: PeerMetaData;
2391
+ }
2392
+ interface PingStatsData extends EventDataBase {
2393
+ producingTransportStats?: TransportStatistics;
2394
+ consumingTransportStats?: TransportStatistics;
2395
+ producerStats?: ProducerStatistics[];
2396
+ consumerStats?: ConsumerStatistics[];
2397
+ }
2398
+ interface PreCallTestData extends EventDataBase {
2399
+ connectionInfo?: NetworkInformation;
2400
+ }
2401
+ interface PreCallTestDataWithoutConnectivityData extends EventDataBase {
2402
+ connectionInfo?: NetworkInformationWithoutConnectivityData;
2403
+ }
2404
+ interface RegionalNetworkQualityTestData extends RegionalIceInformation {
2405
+ networkResults: NetworkQualityInformation;
2406
+ }
2407
+ interface NetworkQualityTestData extends EventDataBase {
2408
+ regionData: RegionalNetworkQualityTestData[];
2409
+ }
2410
+ interface ParticipantRoleData extends EventDataBase {
2411
+ participantRole: string;
2412
+ }
2413
+ interface ExpectedVideoResolutionEntry extends EventEntryBase {
2414
+ event: Event.EXPECTED_VIDEO_RESOLUTION;
2415
+ metaData: {
2416
+ frameWidth: number;
2417
+ frameHeight: number;
2418
+ };
2419
+ }
2420
+ interface ExpectedScreenshareResolutionEntry extends EventEntryBase {
2421
+ event: Event.EXPECTED_SCREENSHARE_RESOLUTION;
2422
+ metaData: {
2423
+ frameWidth: number;
2424
+ frameHeight: number;
2425
+ };
2426
+ }
2427
+ interface EmptyData extends EventDataBase {
2428
+ }
2429
+ interface MediaDevicesData extends EventDataBase {
2430
+ deviceList: MediaDeviceInfo[];
2431
+ }
2432
+ interface IVSPlayerQualityChangedData extends EventDataBase {
2433
+ name: string;
2434
+ group: string;
2435
+ codecs: string;
2436
+ bitrate: number;
2437
+ width: number;
2438
+ height: number;
2439
+ framerate: number;
2440
+ isDefault: boolean;
2441
+ }
2442
+ interface IVSPlayerAnalyticsEventData extends EventDataBase {
2443
+ name: string;
2444
+ properties: Object;
2445
+ }
2446
+ interface IVSPlayerErrorData extends EventDataBase {
2447
+ type: string;
2448
+ code: number;
2449
+ source: string;
2450
+ message: string;
2451
+ }
2452
+ interface IVSPlayerRecoverableErrorData extends EventDataBase {
2453
+ type: string;
2454
+ code: number;
2455
+ source: string;
2456
+ message: string;
2457
+ }
2458
+ interface IVSPlayerPlaybackRateChangedData extends EventDataBase {
2459
+ updatedPlaybackRate: number;
2460
+ }
2461
+ interface IVSPlayerLiveLatencyData extends EventDataBase {
2462
+ latency: number;
2463
+ }
2464
+ type EventData = CallJoinData | PingStatsData | NetworkQualityTestData | EmptyData | ParticipantRoleData | ParticipantRoleData | MediaDevicesData | IVSPlayerQualityChangedData | IVSPlayerAnalyticsEventData | IVSPlayerErrorData | IVSPlayerRecoverableErrorData | IVSPlayerPlaybackRateChangedData | IVSPlayerLiveLatencyData;
2465
+ interface EventEntryBase {
2466
+ event: Event;
2467
+ timestamp: Date;
2468
+ metaData?: EventData;
2469
+ }
2470
+ interface PreCallTestBeginEntry extends EventEntryBase {
2471
+ event: Event.PRECALL_TEST_BEGIN;
2472
+ }
2473
+ interface PreCallTestCompletedEntry extends EventEntryBase {
2474
+ event: Event.PRECALL_TEST_COMPLETE;
2475
+ metaData: PreCallTestData | PreCallTestDataWithoutConnectivityData;
2476
+ }
2477
+ interface CallJoinBeginEntry extends EventEntryBase {
2478
+ event: Event.CALL_JOIN_BEGIN;
2479
+ metaData: CallJoinData;
2480
+ }
2481
+ interface NetworkQualityTestBeginEntry extends EventEntryBase {
2482
+ event: Event.NET_QUALITY_TEST_BEGIN;
2483
+ }
2484
+ interface NetworkQualityTestEndEntry extends EventEntryBase {
2485
+ event: Event.NET_QUALITY_TEST_END;
2486
+ metaData: NetworkQualityTestData;
2487
+ }
2488
+ interface WebSocketConnectedEntry extends EventEntryBase {
2489
+ event: Event.WEBSOCKET_CONNECTED;
2490
+ }
2491
+ interface TransportConnectedEntry extends EventEntryBase {
2492
+ event: Event.TRANSPORT_CONNECTED;
2493
+ }
2494
+ interface AudioToggleEntry extends EventEntryBase {
2495
+ event: Event.AUDIO_OFF | Event.AUDIO_ON;
2496
+ }
2497
+ interface VideoToggleEntry extends EventEntryBase {
2498
+ event: Event.VIDEO_OFF | Event.VIDEO_ON;
2499
+ }
2500
+ interface ScreenShareToggleEntry extends EventEntryBase {
2501
+ event: Event.SCREENSHARE_STARTED | Event.SCREENSHARE_STOPPED;
2502
+ metaData: {
2503
+ ssrc: number;
2504
+ };
2505
+ }
2506
+ interface ScreenShareRequestedEntry extends EventEntryBase {
2507
+ event: Event.SCREENSHARE_START_REQUESTED;
2508
+ }
2509
+ interface DominantSpeakerEntry extends EventEntryBase {
2510
+ event: Event.DOMINANT_SPEAKER;
2511
+ metaData: {
2512
+ peerId: string;
2513
+ };
2514
+ }
2515
+ interface DevicesEntry extends EventEntryBase {
2516
+ event: Event.AUDIO_DEVICES_UPDATES | Event.VIDEO_DEVICES_UPDATES | Event.SPEAKER_DEVICES_UPDATES;
2517
+ metaData: MediaDevicesData;
2518
+ }
2519
+ interface SelectedDeviceEntry extends EventEntryBase {
2520
+ event: Event.SELECTED_CAMERA_UPDATE | Event.SELECTED_MICROHPONE_UPDATE | Event.SELECTED_SPEAKER_UPDATE;
2521
+ metaData: {
2522
+ device: MediaDeviceInfo;
2523
+ };
2524
+ }
2525
+ interface MediaPermissionEntry extends EventEntryBase {
2526
+ event: Event.MEDIA_PERMISSION;
2527
+ metaData: {
2528
+ deviceType: MediaDeviceTypeAll;
2529
+ permission: MediaPermissions$1;
2530
+ };
2531
+ }
2532
+ interface MediaPlaybackFailureEntry extends EventEntryBase {
2533
+ event: Event.AUDIO_PLAY_FAILED | Event.VIDEO_PLAY_FAILED;
2534
+ metaData: {
2535
+ deviceType: MediaDeviceTypeAll;
2536
+ };
2537
+ }
2538
+ interface MediaTrackFailureEntry extends EventEntryBase {
2539
+ event: Event.AUDIO_TRACK_MUTED | Event.VIDEO_TRACK_MUTED;
2540
+ metaData: {
2541
+ deviceType: MediaDeviceTypeAll;
2542
+ };
2543
+ }
2544
+ interface TabChangeEntry extends EventEntryBase {
2545
+ event: Event.TAB_CHANGE;
2546
+ metaData: {
2547
+ isMeetingsTabActive: boolean;
2548
+ };
2549
+ }
2550
+ interface BrowserBackgroundedEntry extends EventEntryBase {
2551
+ event: Event.BROWSER_BACKGROUNDED;
2552
+ }
2553
+ interface BrowserForegroundedEntry extends EventEntryBase {
2554
+ event: Event.BROWSER_FOREGROUNDED;
2555
+ }
2556
+ interface LegacySwitchEntry extends EventEntryBase {
2557
+ event: Event.LEGACY_SWITCH;
2558
+ metadata: {
2559
+ on: boolean;
2560
+ };
2561
+ }
2562
+ interface ParticipantRoleToggleEntry extends EventEntryBase {
2563
+ event: Event.PARTICIPANT_ROLE;
2564
+ metaData: ParticipantRoleData;
2565
+ }
2566
+ interface PingStatsEntry extends EventEntryBase {
2567
+ event: Event.PING_STAT;
2568
+ metaData: PingStatsData;
2569
+ }
2570
+ interface DisconnectEntry extends EventEntryBase {
2571
+ event: Event.DISCONNECT;
2572
+ }
2573
+ interface ReconnectEntry extends EventEntryBase {
2574
+ event: Event.RECONNECT_ATTEMPT;
2575
+ }
2576
+ interface IVSPlayerRebufferingEntry extends EventEntryBase {
2577
+ event: Event.IVS_PLAYER_REBUFFERING;
2578
+ }
2579
+ interface IVSPlayerAudioBlockedEntry extends EventEntryBase {
2580
+ event: Event.IVS_PLAYER_AUDIO_BLOCKED;
2581
+ }
2582
+ interface IVSPlayerPlaybackBlockedEntry extends EventEntryBase {
2583
+ event: Event.IVS_PLAYER_PLAYBACK_BLOCKED;
2584
+ }
2585
+ interface IVSPlayerNetworkUnavailableEntry extends EventEntryBase {
2586
+ event: Event.IVS_PLAYER_NETWORK_UNAVAILABLE;
2587
+ }
2588
+ interface IVSPlayerInitializedEntry extends EventEntryBase {
2589
+ event: Event.IVS_PLAYER_INITIALIZED;
2590
+ }
2591
+ interface IVSPlayerWorkerErrorEntry extends EventEntryBase {
2592
+ event: Event.IVS_PLAYER_WORKER_ERROR;
2593
+ }
2594
+ interface IVSPlayerErrorEntry extends EventEntryBase {
2595
+ event: Event.IVS_PLAYER_ERROR;
2596
+ metaData: IVSPlayerErrorData;
2597
+ }
2598
+ interface IVSPlayerRecoverableErrorEntry extends EventEntryBase {
2599
+ event: Event.IVS_PLAYER_RECOVERABLE_ERROR;
2600
+ metaData: IVSPlayerRecoverableErrorData;
2601
+ }
2602
+ interface IVSPlayerAnalyticsEventEntry extends EventEntryBase {
2603
+ event: Event.IVS_PLAYER_ANALYTICS_EVENT;
2604
+ metaData: IVSPlayerAnalyticsEventData;
2605
+ }
2606
+ interface IVSPlayerPlaybackRateChangedEntry extends EventEntryBase {
2607
+ event: Event.IVS_PLAYER_PLAYBACK_RATE_CHANGED;
2608
+ metaData: IVSPlayerPlaybackRateChangedData;
2609
+ }
2610
+ interface IVSPlayerQualityChangedEntry extends EventEntryBase {
2611
+ event: Event.IVS_PLAYER_QUALITY_CHANGED;
2612
+ metaData: IVSPlayerQualityChangedData;
2613
+ }
2614
+ interface IVSPlayerLiveLatencyEntry extends EventEntryBase {
2615
+ event: Event.LIVESTREAM_LATENCY;
2616
+ metaData: IVSPlayerLiveLatencyData;
2617
+ }
2618
+ 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;
2619
+
2620
+ declare class EventHandler extends EventEmitter$1 {
2621
+ constructor({ logger, peerId, apiHostnames, }: {
2622
+ logger: RTKLogger$2;
2623
+ peerId: string;
2624
+ apiHostnames: ApiHostnames;
2625
+ });
2626
+ callEvent(entry: EventEntry): void;
2627
+ flush(): Promise<boolean>;
2628
+ }
2629
+
2630
+ interface ParsedProducerStats {
2631
+ outboundVideoRtpId: string[];
2632
+ outboundAudioRtpId: string[];
2633
+ }
2634
+ interface ParsedConsumerStats {
2635
+ inboundVideoRtpId: string[];
2636
+ inboundAudioRtpId: string[];
2637
+ }
2638
+ declare class ParsedRTCStats {
2639
+ transport: WebRtcTransportStat;
2640
+ candidatePair: IceCandidatePairStats;
2641
+ outboundVideoRtp: Map<string, OutboundVideoStreamStats>;
2642
+ inboundVideoRtp: Map<string, InboundVideoStreamStats>;
2643
+ outboundAudioRtp: Map<string, OutboundAudioStreamStats>;
2644
+ inboundAudioRtp: Map<string, InboundAudioStreamStats>;
2645
+ remoteInboundRtp: Map<string, RemoteInboundStreamStats>;
2646
+ producerStreamMap: Map<string, ParsedProducerStats>;
2647
+ consumerStreamMap: Map<string, ParsedConsumerStats>;
2648
+ staleProducerStreamMap: boolean;
2649
+ staleConsumerStreamMap: boolean;
2650
+ }
2651
+ declare abstract class Measurements extends EventEmitter$1 {
2652
+ observer: EventEmitter$1;
2653
+ outboundProducerMap: Map<string, string>;
2654
+ inboundConsumerMap: Map<string, string>;
2655
+ consumerPeerIdMap: Map<string, {
2656
+ producerId: string;
2657
+ peerId: string;
2658
+ appData: Record<string, unknown>;
2659
+ }>;
2660
+ pausedConsumerMap: Map<string, {
2661
+ lastReportCalculated: boolean;
2662
+ }>;
2663
+ pausedProducerMap: Map<string, {
2664
+ lastReportCalculated: boolean;
2665
+ }>;
2666
+ overallProducingTransportsStatsMap: Record<string, {
2667
+ totalPacketsSent: number;
2668
+ }>;
2669
+ overallConsumingTransportsStatsMap: Record<string, {
2670
+ totalPacketsReceived: number;
2671
+ }>;
2672
+ overallConsumersStatsMap: Record<string, {
2673
+ totalVideoPacketsReceived: number;
2674
+ totalAudioPacketsReceived: number;
2675
+ }>;
2676
+ overallProducersStatsMap: Record<string, {
2677
+ totalVideoPacketsSent: number;
2678
+ totalAudioPacketsSent: number;
2679
+ }>;
2680
+ videoProducerToStatsMap: Map<string, OutboundVideoStreamStats>;
2681
+ audioProducerToStatsMap: Map<string, OutboundAudioStreamStats>;
2682
+ videoConsumerToStatsMap: Map<string, InboundVideoStreamStats>;
2683
+ audioConsumerToStatsMap: Map<string, InboundAudioStreamStats>;
2684
+ consumerIdsWithFreezedVideo: Set<string>;
2685
+ consumerIdsWithFreezedAudio: Set<string>;
2686
+ producerIdsWithFreezedVideo: Set<string>;
2687
+ producerIdsWithFreezedAudio: Set<string>;
2688
+ freezedProducingTransportIds: Set<string>;
2689
+ freezedConsumingTransportIds: Set<string>;
2690
+ screenShareProducers: Set<string>;
2691
+ screenShareConsumers: Set<string>;
2692
+ ipDetails: IPDetails;
2693
+ callStatsInstance: CallStats;
2694
+ constructor();
2695
+ registerProducer(producer: any): Promise<void>;
2696
+ pauseProducer(producerId: string): void;
2697
+ resumeProducer(producerId: string): void;
2698
+ processInboundConsumerVideoStats(consumerId: string, overallStatsForConsumer: {
2699
+ totalVideoPacketsReceived: number;
2700
+ totalAudioPacketsReceived: number;
2701
+ }, streamStatsData: InboundVideoStreamStats): void;
2702
+ processInboundConsumerAudioStats(consumerId: string, overallStatsForConsumer: {
2703
+ totalVideoPacketsReceived: number;
2704
+ totalAudioPacketsReceived: number;
2705
+ }, streamStatsData: InboundAudioStreamStats): void;
2706
+ processOutboundProducerVideoStats(producerId: string, overallStatsForProducer: {
2707
+ totalVideoPacketsSent: number;
2708
+ totalAudioPacketsSent: number;
2709
+ }, streamStatsData: OutboundVideoStreamStats): void;
2710
+ processOutboundProducerAudioStats(producerId: string, overallStatsForProducer: {
2711
+ totalVideoPacketsSent: number;
2712
+ totalAudioPacketsSent: number;
2713
+ }, streamStatsData: OutboundAudioStreamStats): void;
2714
+ processProducingTransportStats(transportId: string, overallStatsForTransport: {
2715
+ totalPacketsSent: number;
2716
+ }, transportStatsData: WebRtcTransportStat): void;
2717
+ processConsumingTransportStats(transportId: string, overallStatsForTransport: {
2718
+ totalPacketsReceived: number;
2719
+ }, streamStatsData: WebRtcTransportStat): void;
2720
+ registerConsumer(consumer: any): Promise<void>;
2721
+ pauseConsumer(consumerId: string): void;
2722
+ resumeConsumer(consumerId: string): void;
2723
+ generateProducerStreamMap(producer: any, parse?: boolean): Promise<ProducerStatistics>;
2724
+ generateConsumerStreamMap(consumer: any, parse?: boolean): Promise<ConsumerStatistics>;
2725
+ deregisterProducer(producer: any): void;
2726
+ deregisterConsumer(consumer: any): void;
2727
+ getWorkingSimulcastVideoStats(videoStatsList: OutboundVideoStreamStats[]): OutboundVideoStreamStats;
2728
+ getProducersReport(producers: any[]): Promise<ProducerStatistics[]>;
2729
+ getConsumersReport(consumers: any[]): Promise<ConsumerStatistics[]>;
2730
+ getTransportReport(transport: any): Promise<any>;
2731
+ getProcessedStats(transport: any, consuming: boolean, producing: boolean): Promise<ProcessedStatsReport>;
2732
+ getUserLocation(): Promise<GeoLocation>;
2733
+ getConnectivity(iceServers: IceServerInfo[]): Promise<{
2734
+ host: boolean;
2735
+ relay: boolean;
2736
+ reflexive: boolean;
2737
+ }>;
2738
+ getThroughput(iceServers: IceServerInfo[]): Promise<ThroughputInformation>;
2739
+ getIPDetails(): Promise<IPDetails>;
2740
+ getNetworkQuality(iceServers: IceServerInfo[]): Promise<NetworkQualityInformation>;
2741
+ getNetworkInfo(iceServers: IceServerInfo[], skipConnectivityChecks?: boolean): Promise<NetworkInformation | NetworkInformationWithoutConnectivityData>;
2742
+ }
2743
+
2744
+ declare class CallStats extends EventEmitter$1 {
2745
+ observer: EventEmitter$1;
2746
+ eventHandler: EventHandler;
2747
+ producers: Map<string, any>;
2748
+ logger: RTKLogger$2;
2749
+ env: ClientEnvTypeAll;
2750
+ apiHostnames: ApiHostnames;
2751
+ peerId: string;
2752
+ consumerSharedMediaStatesMap: Map<string, {
2753
+ audio?: boolean;
2754
+ video?: boolean;
2755
+ screen?: boolean;
2756
+ }>;
2757
+ currentUserMediaStates: {
2758
+ audio?: boolean;
2759
+ video?: boolean;
2760
+ screen?: boolean;
2761
+ };
2762
+ constructor(backendUrl: string, engineName: string, env: ClientEnvTypeAll, flags: InhouseCallStatsInitializeParams['flags'], logger: RTKLogger$2, peerId: string, apiHostnames: ApiHostnames);
2763
+ registerIceServers(servers: IceServerInfo[]): void;
2764
+ sendConsumerSharedMediaStateEvent(consumerId: string, statusObj: {
2765
+ audio?: boolean;
2766
+ video?: boolean;
2767
+ screen?: boolean;
2768
+ }): void;
2769
+ registerProducingTransport(transport: any): void;
2770
+ registerConsumingTransport(transport: any): void;
2771
+ disconnectConsumingTransport(): void;
2772
+ disconnectProducingTransport(): void;
2773
+ sendPreCallTestBeginEvent(skipConnectivityChecks: boolean, timestamp: Date): void;
2774
+ sendScreenShareToggleEvent(on: boolean, ssrc: number, timestamp: Date): void;
2775
+ sendScreenShareRequestedEvent(timestamp: Date): void;
2776
+ sendActiveSpeakerEvent(peerId: string, timestamp: Date): void;
2777
+ devices(deviceType: MediaDeviceTypeAll, deviceList: MediaDeviceInfo[], timestamp: Date): void;
2778
+ selectedDevice(deviceType: MediaDeviceTypeAll, device: MediaDeviceInfo, timestamp: Date): void;
2779
+ mediaPermission(deviceType: MediaDeviceTypeAll, permission: MediaPermissions$1, timestamp: Date): void;
2780
+ mediaPlaybackFailed(deviceType: MediaDeviceTypeAll, timestamp: Date): void;
2781
+ mediaTrackMuted(deviceType: MediaDeviceTypeAll, timestamp: Date): void;
2782
+ tabChanged(isMeetingsTabActive: boolean, timestamp: Date): void;
2783
+ browserBackgrounded(timestamp: Date): void;
2784
+ browserForegrounded(timestamp: Date): void;
2785
+ legacySwitch(on: boolean, timestamp: Date): void;
2786
+ getPreCallTestResults(): Promise<NetworkInformation | NetworkInformationWithoutConnectivityData>;
2787
+ sendCallJoinBeginEvent(peerMetaData: PeerMetaData, timestamp: Date): void;
2788
+ sendNetworkQualityTestBeginEvent(regionalInformations: RegionalIceInformation[], timestamp: Date): void;
2789
+ sendWebSocketConnectedEvent(timestamp: Date): void;
2790
+ sendTransportConnectedEvent(timestamp: Date): void;
2791
+ sendAudioToggleEvent(on: boolean, timestamp: Date): void;
2792
+ sendVideoToggleEvent(on: boolean, timestamp: Date): void;
2793
+ sendParticipantRoleToggleEvent(role: ParticipantRoleData, timestamp: Date): void;
2794
+ startPingStats(interval?: number): void;
2795
+ stopPingStats(): void;
2796
+ sendPingStatsEvent(optimize: boolean, timestamp: Date): Promise<void>;
2797
+ sendIVSPlayerRebufferEvent(timestamp: Date): void;
2798
+ sendIVSPlayerAudioBlockEvent(timestamp: Date): void;
2799
+ sendIVSPlayerPlaybackBlockedEvent(timestamp: Date): void;
2800
+ sendIVSPlayerNetworkUnavailableEvent(timestamp: Date): void;
2801
+ sendIVSPlayerInitializedEvent(timestamp: Date): void;
2802
+ sendIVSPlayerWorkerErrorEvent(timestamp: Date): void;
2803
+ sendIVSPlayerErrorEvent(payload: IVSPlayerErrorData, timestamp: Date): void;
2804
+ sendIVSPlayerRecoverableErrorEvent(payload: IVSPlayerRecoverableErrorData, timestamp: Date): void;
2805
+ sendIVSPlayerAnalyticsEvent(payload: IVSPlayerAnalyticsEventData, timestamp: Date): void;
2806
+ sendIVSPlayerPlaybackRateChangedEvent(updatedPlaybackRate: number, timestamp: Date): void;
2807
+ sendIVSPlayerQualityChanged(payload: IVSPlayerQualityChangedData, timestamp: Date): void;
2808
+ sendPlayerLiveLatency(latency: number, timestamp: Date): void;
2809
+ sendDisconnectEvent(timestamp: Date): void;
2810
+ sendReconnectEvent(timestamp: Date): void;
2811
+ expectedVideoResolution(frameWidth: number, frameHeight: number, timestamp: Date): void;
2812
+ expectedScreenshareResolution(frameWidth: number, frameHeight: number, timestamp: Date): void;
2813
+ }
2814
+
2815
+ declare class InhouseCallStats extends EventEmitter$1 {
2816
+ stats: any;
2817
+ peerId: string;
2818
+ backend: CallStats;
2819
+ iceServers: IceServerInfo[];
2820
+ initialized: boolean;
2821
+ stalled: boolean;
2822
+ ipInformation: Object;
2823
+ logger: RTKLogger$2;
2824
+ initialize({ peerId, engineName, env, iceServers, apiBase, flags, logger, apiHostnames, skipConnectivityChecks, }: InhouseCallStatsInitializeParams): Promise<void>;
2825
+ configureSendTransport(sendTransport: any): void;
2826
+ configureRecvTransport(recvTransport: any): void;
2827
+ candidateRegionalNetworkQualityTest(regionalIceServersInfo: RegionalIceInformation[]): Promise<void>;
2828
+ roomJoined(peerData: PeerMetaData$1): Promise<void>;
2829
+ audioOff(): void;
2830
+ audioOn(): void;
2831
+ videoOff(): void;
2832
+ videoOn(): void;
2833
+ callEnded(): void;
2834
+ screenShareStart(ssrc?: number): void;
2835
+ consumerSharedMediaState(consumerId: string, statusObj: {
2836
+ audio?: boolean;
2837
+ video?: boolean;
2838
+ screen?: boolean;
2839
+ }): void;
2840
+ screenShareStop(ssrc?: number): void;
2841
+ screenShareRequested(): void;
2842
+ activeSpeaker(peerId: string): void;
2843
+ devices(deviceType: MediaDeviceTypeAll, deviceList: MediaDeviceInfo[]): void;
2844
+ selectedDevice(deviceType: MediaDeviceTypeAll, device: MediaDeviceInfo): void;
2845
+ mediaPermission(deviceType: MediaDeviceTypeAll, permission: MediaPermissions$1): void;
2846
+ mediaPlaybackFailed(deviceType: MediaDeviceTypeAll): void;
2847
+ mediaTrackMuted(deviceType: MediaDeviceTypeAll): void;
2848
+ tabChanged(isMeetingsTabActive?: boolean): void;
2849
+ browserBackgrounded(): void;
2850
+ browserForegrounded(): void;
2851
+ legacySwitch(on: boolean): void;
2852
+ startPreCallTest(skipConnectivityChecks?: boolean): Promise<void>;
2853
+ onPreCallTestResults(fx: any): any;
2854
+ onReceivingConsumerAudioStatus(fx: any): void;
2855
+ onReceivingConsumerVideoStatus(fx: any): void;
2856
+ onReceivingProducerAudioStatus(fx: any): void;
2857
+ onReceivingProducerVideoStatus(fx: any): void;
2858
+ onReceivingProducingTransportStatus(fx: any): void;
2859
+ onReceivingConsumingTransportStatus(fx: any): void;
2860
+ onProducerScore(fx: any): void;
2861
+ onConsumerScore(fx: any): void;
2862
+ removeInitializationListener(fx: Function): void;
2863
+ stallCallStats(): void;
2864
+ ivsPlayerEvent(type: String, payload: any): void;
2865
+ livestreamLatency(latency: number): void;
2866
+ expectedVideoResolution(frameWidth: number, frameHeight: number): void;
2867
+ expectedScreenshareResolution(frameWidth: number, frameHeight: number): void;
2868
+ }
1879
2869
 
1880
2870
  interface RTKBasicParticipant {
1881
2871
  userId: string;
@@ -1966,77 +2956,37 @@ declare class RTKSelectedPeers {
1966
2956
  type PipEvents = {
1967
2957
  ['cameraToggled']: () => void;
1968
2958
  ['micToggled']: () => void;
1969
- ['hangup']: () => void;
1970
- ['pipStarted']: () => void;
1971
- ['pipEnded']: () => void;
1972
- ['*']: (eventName: string, ...args: any[]) => void;
1973
- };
1974
- declare class RTKPip extends RTKTypedEventEmitter<PipEvents> {
1975
- private constructor();
1976
- static _init(context: Context<RTKContextState>, self: RTKSelf$1): Promise<RTKPip>;
1977
- overrideIcon(icon: 'handRaise' | 'pin', value: string): Promise<void>;
1978
- isSupported(): boolean;
1979
- get isActive(): boolean;
1980
- init({ height, width }?: {
1981
- height?: number;
1982
- width?: number;
1983
- }): void;
1984
- enableSource(source: string): void;
1985
- disableSource(source: string): void;
1986
- addSource(id: string, element: HTMLVideoElement, enabled: boolean, pinned?: boolean, displayText?: string, imageUrl?: string, handRaised?: boolean): void;
1987
- updateSource(id: string, source: any): void;
1988
- removeSource(id: string): void;
1989
- removePinnedSource(): void;
1990
- removeAllSources(): void;
1991
- enable(): void;
1992
- disable: (partial?: boolean) => void;
1993
- }
1994
-
1995
- interface AudioProducerScoreStats {
1996
- score: number;
1997
- packetsLostPercentage: number;
1998
- jitter: number;
1999
- isScreenShare: boolean;
2000
- bitrate: number;
2001
- }
2002
- interface VideoProducerScoreStats {
2003
- score: number;
2004
- frameWidth: number;
2005
- frameHeight: number;
2006
- framesPerSecond: number;
2007
- packetsLostPercentage: number;
2008
- jitter: number;
2009
- isScreenShare: boolean;
2010
- bitrate: number;
2011
- cpuLimitations: boolean;
2012
- bandwidthLimitations: boolean;
2013
- }
2014
- interface AudioConsumerScoreStats {
2015
- score: number;
2016
- packetsLostPercentage: number;
2017
- jitter: number;
2018
- isScreenShare: boolean;
2019
- bitrate: number;
2020
- }
2021
- interface VideoConsumerScoreStats {
2022
- score: number;
2023
- frameWidth: number;
2024
- frameHeight: number;
2025
- framesPerSecond: number;
2026
- packetsLostPercentage: number;
2027
- jitter: number;
2028
- isScreenShare: boolean;
2029
- bitrate: number;
2959
+ ['hangup']: () => void;
2960
+ ['pipStarted']: () => void;
2961
+ ['pipEnded']: () => void;
2962
+ ['*']: (eventName: string, ...args: any[]) => void;
2963
+ };
2964
+ declare class RTKPip extends RTKTypedEventEmitter<PipEvents> {
2965
+ private constructor();
2966
+ static _init(context: Context<RTKContextState>, self: RTKSelf$1): Promise<RTKPip>;
2967
+ overrideIcon(icon: 'handRaise' | 'pin', value: string): Promise<void>;
2968
+ isSupported(): boolean;
2969
+ get isActive(): boolean;
2970
+ init({ height, width }?: {
2971
+ height?: number;
2972
+ width?: number;
2973
+ }): void;
2974
+ enableSource(source: string): void;
2975
+ disableSource(source: string): void;
2976
+ addSource(id: string, element: HTMLVideoElement, enabled: boolean, pinned?: boolean, displayText?: string, imageUrl?: string, handRaised?: boolean): void;
2977
+ updateSource(id: string, source: any): void;
2978
+ removeSource(id: string): void;
2979
+ removePinnedSource(): void;
2980
+ removeAllSources(): void;
2981
+ enable(): void;
2982
+ disable: (partial?: boolean) => void;
2030
2983
  }
2031
- type ProducerScoreStats = AudioProducerScoreStats | VideoProducerScoreStats;
2032
- type ConsumerScoreStats = AudioConsumerScoreStats | VideoConsumerScoreStats;
2033
2984
 
2034
2985
  type EventHandlerTypes = PeerInfoResponse | GetWaitingRoomRequests | RecordingEvent | UpdatePeersPresetResponse | PeerJoinBroadcastResponse | PeerJoinCompleteResponse | GlobalPeerPinningBroadcastResponse | PeerLeaveResponse | SelectedPeersResponse | SelectedPeersDiffResponse;
2035
2986
  declare class RoomSocketHandler {
2036
2987
  socket: SocketService;
2037
- static create(socket: SocketService, context: Context<RTKContextState>): RoomSocketHandler;
2038
- static cleanup(): void;
2039
- constructor(socketService: SocketService, context: Context<RTKContextState>);
2988
+ cleanup(): Promise<void>;
2989
+ constructor(context: Context<RTKContextState>, socketService: SocketService);
2040
2990
  joinRoom(opts: {
2041
2991
  name: string;
2042
2992
  id: string;
@@ -2083,6 +3033,29 @@ declare class EnhancedEventEmitter<TransportPromiseEvents> extends EventEmitter
2083
3033
  safeEmitAsPromiseWithTimeout<T extends keyof TransportPromiseEvents>(event: T, timeout: number, ...args: any[]): Promise<TransportPromiseEvents[T]>;
2084
3034
  }
2085
3035
 
3036
+ declare enum TransportState {
3037
+ NEW = "new",
3038
+ CONNECTING = "connecting",
3039
+ RECONNECTING = "reconnecting",
3040
+ DISCONNECTED = "disconnected",
3041
+ CONNECTED = "connected",
3042
+ FAILED = "failed",
3043
+ CLOSED = "closed"
3044
+ }
3045
+ declare enum MediaNodeType {
3046
+ HIVE = 1,
3047
+ ROOM_NODE = 2,
3048
+ CF = 3
3049
+ }
3050
+ type MediaConnectionState = {
3051
+ recv: {
3052
+ state: `${TransportState}`;
3053
+ };
3054
+ send: {
3055
+ state: `${TransportState}`;
3056
+ };
3057
+ };
3058
+
2086
3059
  interface GenericHandlerResult {
2087
3060
  offerSdp: RTCSessionDescriptionInit;
2088
3061
  callback: (answer: RTCSessionDescriptionInit) => Promise<any>;
@@ -2115,6 +3088,7 @@ declare abstract class HandlerInterface<TransportPromiseEvents> extends Enhanced
2115
3088
  enableHighBitrate: boolean;
2116
3089
  enableStereo: boolean;
2117
3090
  enableDtx: boolean;
3091
+ sfu: MediaNodeType;
2118
3092
  get midTransceiverMap(): Map<string, RTCRtpTransceiver>;
2119
3093
  abstract get name(): string;
2120
3094
  close(): void;
@@ -2140,29 +3114,6 @@ type DCMessage = {
2140
3114
  payload: Record<string, unknown>;
2141
3115
  };
2142
3116
 
2143
- declare enum TransportState {
2144
- NEW = "new",
2145
- CONNECTING = "connecting",
2146
- RECONNECTING = "reconnecting",
2147
- DISCONNECTED = "disconnected",
2148
- CONNECTED = "connected",
2149
- FAILED = "failed",
2150
- CLOSED = "closed"
2151
- }
2152
- declare enum MediaNodeType {
2153
- HIVE = 1,
2154
- ROOM_NODE = 2,
2155
- CF = 3
2156
- }
2157
- type MediaConnectionState = {
2158
- recv: {
2159
- state: `${TransportState}`;
2160
- };
2161
- send: {
2162
- state: `${TransportState}`;
2163
- };
2164
- };
2165
-
2166
3117
  type TransportPromiseEvents = {
2167
3118
  'close': {
2168
3119
  answer: RTCSessionDescriptionInit;
@@ -2297,6 +3248,7 @@ type SelfEvents = {
2297
3248
  ['roomJoined']: (payload: {
2298
3249
  reconnected: boolean;
2299
3250
  }) => void;
3251
+ ['autoplayError']: (error: Error) => void;
2300
3252
  ['*']: (event: string, ...args: any[]) => void;
2301
3253
  };
2302
3254
 
@@ -2450,19 +3402,19 @@ declare class RTKMeta$1 extends RTKTypedEventEmitter<MetaEvents> {
2450
3402
  setSelfActiveTab(spotlightTab: ActiveTab, tabChangeSource: TabChangeSource): void;
2451
3403
  }
2452
3404
 
2453
- interface RTKMapEvents<T extends EventMap> {
3405
+ interface RTKMapEvents<T extends EventMap$1> {
2454
3406
  onAddEvent?: keyof T;
2455
3407
  onDeleteEvent?: keyof T;
2456
3408
  onClearEvent?: keyof T;
2457
3409
  }
2458
- type ModifyPrependObject<T extends EventMap, U> = {
3410
+ type ModifyPrependObject<T extends EventMap$1, U> = {
2459
3411
  [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>;
2460
3412
  } & {
2461
3413
  ['*']: (event: String, ...args: any[]) => void;
2462
3414
  };
2463
- declare class RTKMap<T extends (EventMap & WildCardEvent<T>), U extends {
3415
+ declare class RTKMap<T extends (EventMap$1 & WildCardEvent<T>), U extends {
2464
3416
  id: string;
2465
- } & RTKTypedEventEmitter<T>, V extends EventMap> extends Map<string, U> {
3417
+ } & RTKTypedEventEmitter<T>, V extends EventMap$1> extends Map<string, U> {
2466
3418
  readonly onAddEvent: keyof V;
2467
3419
  readonly onDeleteEvent: keyof V;
2468
3420
  readonly onClearEvent: keyof V;
@@ -3567,9 +4519,10 @@ declare class BrowserCapabilities extends BrowserDetection {
3567
4519
  }
3568
4520
 
3569
4521
  declare class RTKFeatures {
3570
- static hasFeature(featureName: string): boolean;
3571
- static getFeatureValue(featureName: string): _dyteinternals_utils.RTKFlagValues;
3572
- static getAllFeatures(): {
4522
+ constructor(context: Context<RTKContextState>);
4523
+ hasFeature(featureName: string): boolean;
4524
+ getFeatureValue(featureName: string): _dyteinternals_utils.RTKFlagValues;
4525
+ getAllFeatures(): {
3573
4526
  [x: string]: _dyteinternals_utils.RTKFlagsEntry;
3574
4527
  };
3575
4528
  }
@@ -3898,11 +4851,11 @@ declare class RTKLogger$1 {
3898
4851
 
3899
4852
  declare class RTKInternals {
3900
4853
  logger: typeof RTKLogger$1;
3901
- features: typeof RTKFeatures;
4854
+ features: RTKFeatures;
3902
4855
  browserSpecs: BrowserCapabilities;
3903
- callStats: any;
3904
- constructor(logger: typeof RTKLogger$1, features: typeof RTKFeatures, callStats: any);
3905
- static init(callstats: any): RTKInternals;
4856
+ callStats: InhouseCallStats;
4857
+ constructor(logger: typeof RTKLogger$1, features: RTKFeatures, callStats: any);
4858
+ static init(context: Context<RTKContextState>): RTKInternals;
3906
4859
  }
3907
4860
 
3908
4861
  type StoreData = {
@@ -4028,6 +4981,115 @@ declare class MediaNodeClient {
4028
4981
  handlePeerLeaving(peerId: string): void;
4029
4982
  }
4030
4983
 
4984
+ interface SocketServicePayload {
4985
+ payload: any;
4986
+ }
4987
+ interface ConnectedMeetingParticipant {
4988
+ id?: string;
4989
+ customParticipantId?: string;
4990
+ presetId?: string;
4991
+ displayName?: string;
4992
+ displayPictureUrl?: string;
4993
+ }
4994
+ interface ConnectedMeeting {
4995
+ id?: string;
4996
+ title?: string;
4997
+ participants: ConnectedMeetingParticipant[];
4998
+ }
4999
+ declare class ConnectedMeetingsSocketHandler {
5000
+ socketService: SocketService;
5001
+ constructor(socketService: SocketService);
5002
+ handleConnectedRoomsDumpRaw({ payload }: SocketServicePayload): {
5003
+ parentMeeting: ConnectedMeeting;
5004
+ meetings: ConnectedMeeting[];
5005
+ };
5006
+ handleTransferPeerRaw({ payload }: SocketServicePayload): {
5007
+ authToken: string;
5008
+ meetingId: string;
5009
+ };
5010
+ handleMovedPeerRaw({ payload }: SocketServicePayload): {
5011
+ meetingId: string;
5012
+ customParticipantId: string;
5013
+ };
5014
+ handleConnectedRoomsUpdatedRaw({ payload }: SocketServicePayload): {
5015
+ id: string;
5016
+ title: string;
5017
+ }[];
5018
+ handleConnectedRoomsDeletedRaw({ payload }: SocketServicePayload): {
5019
+ id: string;
5020
+ }[];
5021
+ getConnectedRoomsDump(): Promise<{
5022
+ parentMeeting: ConnectedMeeting;
5023
+ meetings: ConnectedMeeting[];
5024
+ }>;
5025
+ createConnectedRooms(request: CreateRoomRequestPayload[]): Promise<{
5026
+ id: string;
5027
+ title: string;
5028
+ }[]>;
5029
+ updateConnectedRooms(request: UpdateRoomRequestPayload[]): Promise<void>;
5030
+ disableConnectedRooms(meetingIds: string[]): Promise<{
5031
+ id: string;
5032
+ }[]>;
5033
+ movePeersBetweenRooms(request: MovePeersBetweenRoomsRequest): Promise<{
5034
+ success: boolean;
5035
+ error?: undefined;
5036
+ } | {
5037
+ success: boolean;
5038
+ error: any;
5039
+ }>;
5040
+ }
5041
+
5042
+ type ConnectedMeetingsEvents = {
5043
+ ['meetingChanged']: (meeting: RealtimeKitClient) => void;
5044
+ ['stateUpdate']: (payload: {
5045
+ meetings: ConnectedMeeting[];
5046
+ parentMeeting: ConnectedMeeting;
5047
+ }) => void;
5048
+ ['changingMeeting']: (meetingId: string) => void;
5049
+ ['*']: (eventName: string, ...args: any[]) => void;
5050
+ };
5051
+ declare class RTKConnectedMeetings$1 extends RTKTypedEventEmitter<ConnectedMeetingsEvents> {
5052
+ constructor(context: Context<RTKContextState>);
5053
+ meetings: ConnectedMeeting[];
5054
+ parentMeeting: ConnectedMeeting;
5055
+ get supportsConnectedMeetings(): boolean;
5056
+ get isActive(): boolean;
5057
+ getConnectedMeetings(): Promise<{
5058
+ parentMeeting: ConnectedMeeting;
5059
+ meetings: ConnectedMeeting[];
5060
+ }>;
5061
+ createMeetings(request: {
5062
+ title: string;
5063
+ }[]): Promise<{
5064
+ id: string;
5065
+ title: string;
5066
+ }[]>;
5067
+ updateMeetings(request: {
5068
+ id: string;
5069
+ title: string;
5070
+ }[]): Promise<void>;
5071
+ deleteMeetings(meetingIds: string[]): Promise<{
5072
+ id: string;
5073
+ }[]>;
5074
+ moveParticipants(sourceMeetingId: string, destinationMeetingId: string, participantIds: string[]): Promise<{
5075
+ success: boolean;
5076
+ error?: undefined;
5077
+ } | {
5078
+ success: boolean;
5079
+ error: any;
5080
+ }>;
5081
+ moveParticipantsWithCustomPreset(sourceMeetingId: string, destinationMeetingId: string, participants: {
5082
+ id: string;
5083
+ presetId: string;
5084
+ }[]): Promise<{
5085
+ success: boolean;
5086
+ error?: undefined;
5087
+ } | {
5088
+ success: boolean;
5089
+ error: any;
5090
+ }>;
5091
+ }
5092
+
4031
5093
  interface Modules {
4032
5094
  pip?: boolean;
4033
5095
  chat?: boolean;
@@ -4056,6 +5118,7 @@ interface Modules {
4056
5118
  staggered?: boolean;
4057
5119
  }[];
4058
5120
  };
5121
+ experimentalAudioPlayback?: boolean;
4059
5122
  }
4060
5123
  interface DefaultOptions {
4061
5124
  video?: boolean;
@@ -4086,7 +5149,7 @@ declare class ConnectionHandler {
4086
5149
  mediaState: MediaConnectionState;
4087
5150
  get joinAttempted(): boolean;
4088
5151
  get roomJoined(): boolean;
4089
- constructor();
5152
+ constructor(context: Context<RTKContextState>);
4090
5153
  updateSocketConnectionState(state: SocketStateEvent, attempt?: number): void;
4091
5154
  }
4092
5155
 
@@ -4184,6 +5247,140 @@ declare class RTKError extends Error {
4184
5247
  constructor(message: string, code?: keyof typeof ERROR_CODES, log?: boolean);
4185
5248
  }
4186
5249
 
5250
+ type EventMap = {
5251
+ [key: string]: (...args: any[]) => void;
5252
+ };
5253
+ interface TypedEventEmitter<Events extends EventMap> {
5254
+ addListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5255
+ on<E extends keyof Events>(event: E, listener: Events[E]): this;
5256
+ onAsync<E extends keyof Events>(event: E, listener: Events[E]): this;
5257
+ once<E extends keyof Events>(event: E, listener: Events[E]): this;
5258
+ prependListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5259
+ prependOnceListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5260
+ off<E extends keyof Events>(event: E, listener: Events[E]): this;
5261
+ removeAllListeners<E extends keyof Events>(event?: E): this;
5262
+ removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
5263
+ emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): void;
5264
+ emitAsync<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): Promise<void>;
5265
+ eventNames(): (keyof Events | string | symbol)[];
5266
+ rawListeners<E extends keyof Events>(event: E): Events[E][];
5267
+ listeners<E extends keyof Events>(event: E): Events[E][];
5268
+ listenerCount<E extends keyof Events>(event: E): number;
5269
+ getMaxListeners(): number;
5270
+ setMaxListeners(maxListeners: number): this;
5271
+ reset(): void;
5272
+ }
5273
+
5274
+ declare enum SessionEvents {
5275
+ NEW_PRODUCER = "NEW_PRODUCER",
5276
+ PRODUCER_TRACK_ENDED = "PRODUCER_TRACK_ENDED",
5277
+ ROOM_NODE_CONNECTION_ERROR = "ROOM_NODE_CONNECTION_ERROR",
5278
+ SOCKET_SERVICE_ROOM_JOINED = "SOCKET_SERVICE_ROOM_JOINED",
5279
+ SOCKET_SERVICE_RECONNECTED = "SOCKET_SERVICE_RECONNECTED",
5280
+ SOCKET_SERVICE_DISCONNECTED = "SOCKET_SERVICE_DISCONNECTED",
5281
+ SOCKET_SERVICE_FAILED = "SOCKET_SERVICE_FAILED",
5282
+ SOCKET_STATE_UPDATE = "SOCKET_STATE_UPDATE",
5283
+ ROOM_NODE_RECONNECTED = "ROOM_NODE_RECONNECTED",
5284
+ ROOM_NODE_DISCONNECTED = "ROOM_NODE_DISCONNECTED",
5285
+ ROOM_NODE_FAILED = "ROOM_NODE_FAILED",
5286
+ TRANSPORT_STATE_UPDATE = "TRANSPORT_STATE_UPDATE",
5287
+ PRODUCER_SCORE_UPDATE = "PRODUCER_SCORE_UPDATE",
5288
+ CONSUMER_SCORE_UPDATE = "CONSUMER_SCORE_UPDATE",
5289
+ PRODUCER_STATUS_UPDATE = "PRODUCER_STATUS_UPDATE",
5290
+ CONSUMER_STATUS_UPDATE = "CONSUMER_STATUS_UPDATE",
5291
+ LOW_PRODUCER_SCORE = "LOW_PRODUCER_SCORE",
5292
+ LOW_CONSUMER_SCORE = "LOW_CONSUMER_SCORE",
5293
+ MEDIA_PERMISSION_ERROR = "MEDIA_PERMISSION_ERROR",
5294
+ MEDIA_PERMISSION_UPDATE = "MEDIA_PERMISSION_UPDATE",
5295
+ WAITLISTED = "WAIT_LISTED",
5296
+ MESSAGE = "websocket/message",
5297
+ ROOM_MESSAGE = "websocket/room-message",
5298
+ PEER_JOINED_INTERNAL = "peer/joined-internal",
5299
+ PEER_CLOSED = "websocket/peer-closed",
5300
+ CONSUMER_CLOSED = "websocket/consumer-closed",
5301
+ CONSUMER_PAUSED = "websocket/consumer-paused",
5302
+ CONSUMER_RESUMED = "websocket/consumer-resumed",
5303
+ PRODUCER_CLOSED = "websocket/producer-closed",
5304
+ NEW_CONSUMER = "websocket/new-consumer",
5305
+ PRODUCER_SCORE = "websocket/producer-score",
5306
+ CONSUMER_SCORE = "websocket/consumer-score",
5307
+ PRODUCER_TOGGLE = "hive/producer-toggle",
5308
+ CONSUMER_TOGGLE = "hive/consumer-toggle",
5309
+ SELECTED_PEERS_DIFF = "hive/selected-peers-diff",
5310
+ UPDATE_ACTIVE = "media/update-active",
5311
+ RESET_PRODUCER_STATE = "hive/reset-producer-state",
5312
+ CF_TRANSPORT_STATE_CHANGED = "cf/transport-state-changed",
5313
+ CF_ROOM_REJOINING = "cf/room-rejoining",
5314
+ CF_ROOM_REJOIN_FAILED = "cf/room-rejoining-failed",
5315
+ CF_ROOM_REJOINED = "cf/room-rejoined",
5316
+ CF_TRANPSORT_RECONNECTING = "cf/transport-reconnecting",
5317
+ ROOM_STATE = "sockethub/room-state",
5318
+ PEER_DISPLAY_NAME_CHANGED = "hive/display-name-changed",
5319
+ GET_STAGE_REQUESTS = "GET_STAGE_REQUESTS",
5320
+ UPDATE_STAGE_REQUESTS = "UPDATE_STAGE_REQUESTS",
5321
+ KICK_PEER = "KICK_PEER",
5322
+ UPDATE_PEER_STAGE_STATUS = "UPDATE_PEER_STAGE_STATUS",
5323
+ JOIN_MEDIA_ROOM = "JOIN_MEDIA_ROOM",
5324
+ LEAVE_MEDIA_ROOM = "LEAVE_MEDIA_ROOM",
5325
+ PIP_HANGUP = "PIP_HANGUP",
5326
+ E2EE_ACTIVE_PRODUCER = "E2EE_ACTIVE_PRODUCER",
5327
+ E2EE_INACTIVE_PRODUCER = "E2EE_INACTIVE_PRODUCER",
5328
+ E2EE_ACTIVE_CONSUMER = "E2EE_ACTIVE_CONSUMER",
5329
+ E2EE_INACTIVE_CONSUMER = "E2EE_INACTIVE_CONSUMER",
5330
+ SOCKET_PEERS = "SOCKET_PEERS",
5331
+ UPDATE_PERMISSIONS = "UPDATE_PERMISSIONS",
5332
+ MAX_SPATIAL_LAYER_CHANGE = "MAX_SPATIAL_LAYER_CHANGE",
5333
+ MUTE_SELF = "MUTE_SELF",
5334
+ MUTE_SELF_VIDEO = "MUTE_SELF_VIDEO"
5335
+ }
5336
+ type AllEvents = {
5337
+ [key in SessionEvents]: (payload?: any) => void;
5338
+ };
5339
+ type TypedEvents = {
5340
+ [SessionEvents.UPDATE_PERMISSIONS]: (p: PresetUpdates) => void;
5341
+ [SessionEvents.MAX_SPATIAL_LAYER_CHANGE]: (p: {
5342
+ peerId: string;
5343
+ maxSpatialLayer: number;
5344
+ }) => void;
5345
+ [SessionEvents.UPDATE_ACTIVE]: (p?: {
5346
+ page?: number;
5347
+ createAllConsumers?: boolean;
5348
+ }) => void;
5349
+ [SessionEvents.PEER_JOINED_INTERNAL]: (p: RTKParticipant$1) => void;
5350
+ [SessionEvents.UPDATE_PEER_STAGE_STATUS]: (p: {
5351
+ id: string;
5352
+ status: string;
5353
+ }) => void;
5354
+ [SessionEvents.GET_STAGE_REQUESTS]: (stageRequests: StageRequest[]) => void;
5355
+ [SessionEvents.UPDATE_STAGE_REQUESTS]: (payload: {
5356
+ request: StageRequestPayload;
5357
+ add: boolean;
5358
+ }) => void;
5359
+ [SessionEvents.KICK_PEER]: (payload: {
5360
+ peerId: string;
5361
+ }) => void;
5362
+ [SessionEvents.JOIN_MEDIA_ROOM]: () => void;
5363
+ [SessionEvents.LEAVE_MEDIA_ROOM]: (state: LeaveRoomState) => void;
5364
+ };
5365
+ type UntypedEvents = Omit<AllEvents, keyof TypedEvents>;
5366
+ type SessionEventsType = TypedEvents & UntypedEvents;
5367
+
5368
+ type ErrorCallback = (error: Error) => void;
5369
+ declare class AudioPlayback {
5370
+ constructor();
5371
+ playTracks(tracks: MediaStreamTrack[]): Promise<void>;
5372
+ setSpeakerDevice(deviceId: string): void;
5373
+ removeTrack(trackId: string): void;
5374
+ play(): Promise<void>;
5375
+ onError(callback: ErrorCallback): void;
5376
+ }
5377
+
5378
+ declare class AudioPlaybackManager extends AudioPlayback {
5379
+ constructor();
5380
+ addParticipantTrack(participantId: string, track: MediaStreamTrack): void;
5381
+ removeParticipantTrack(participantId: string): void;
5382
+ }
5383
+
4187
5384
  type RTKContextState = {
4188
5385
  authToken: string;
4189
5386
  peerId?: string;
@@ -4211,8 +5408,17 @@ type RTKContextState = {
4211
5408
  env?: ClientEnvTypeAll;
4212
5409
  sdkVersion?: string;
4213
5410
  sdkName?: 'web-core';
5411
+ callstats?: InhouseCallStats;
4214
5412
  connectionHandler?: ConnectionHandler;
4215
5413
  cachedUserDetails?: CachedUserDetails;
5414
+ peerSessionStore?: TypedEventEmitter<SessionEventsType>;
5415
+ flagsmith?: ReturnType<typeof createNewFlagsmithInstance>;
5416
+ roomSocketHandler?: RoomSocketHandler;
5417
+ connectedMeetingsSocketHandler?: ConnectedMeetingsSocketHandler;
5418
+ audioPlayback?: AudioPlaybackManager;
5419
+ options?: RealtimeKitClientOptions;
5420
+ self?: RTKSelf;
5421
+ meeting?: RealtimeKitClient;
4216
5422
  };
4217
5423
  interface Context<T extends Record<string, any>> {
4218
5424
  subscribe: (key: keyof T, listener: (value: any) => void) => () => void;
@@ -4393,6 +5599,7 @@ declare class RTKSelf$1 extends RTKSelfMedia {
4393
5599
  show(): void;
4394
5600
  setDevice(device: MediaDeviceInfo): Promise<void>;
4395
5601
  cleanUpTracks(): void;
5602
+ playAudio(): Promise<void>;
4396
5603
  registerVideoElement(videoElem: HTMLVideoElement, isPreview?: boolean): void;
4397
5604
  deregisterVideoElement(videoElem?: HTMLVideoElement, isPreview?: boolean): void;
4398
5605
  }
@@ -4548,71 +5755,6 @@ declare class API {
4548
5755
  setOrganizationId(id: string): void;
4549
5756
  }
4550
5757
 
4551
- interface ConnectedMeetingParticipant {
4552
- id?: string;
4553
- customParticipantId?: string;
4554
- presetId?: string;
4555
- displayName?: string;
4556
- displayPictureUrl?: string;
4557
- }
4558
- interface ConnectedMeeting {
4559
- id?: string;
4560
- title?: string;
4561
- participants: ConnectedMeetingParticipant[];
4562
- }
4563
-
4564
- type ConnectedMeetingsEvents = {
4565
- ['meetingChanged']: (meeting: RealtimeKitClient) => void;
4566
- ['stateUpdate']: (payload: {
4567
- meetings: ConnectedMeeting[];
4568
- parentMeeting: ConnectedMeeting;
4569
- }) => void;
4570
- ['changingMeeting']: (meetingId: string) => void;
4571
- ['*']: (eventName: string, ...args: any[]) => void;
4572
- };
4573
- declare class RTKConnectedMeetings$1 extends RTKTypedEventEmitter<ConnectedMeetingsEvents> {
4574
- constructor(context: Context<RTKContextState>, meeting: RealtimeKitClient);
4575
- meetings: ConnectedMeeting[];
4576
- parentMeeting: ConnectedMeeting;
4577
- get supportsConnectedMeetings(): boolean;
4578
- get isActive(): boolean;
4579
- get currentMeetingId(): string;
4580
- getConnectedMeetings(): Promise<{
4581
- parentMeeting: ConnectedMeeting;
4582
- meetings: ConnectedMeeting[];
4583
- }>;
4584
- createMeetings(request: {
4585
- title: string;
4586
- }[]): Promise<{
4587
- id: string;
4588
- title: string;
4589
- }[]>;
4590
- updateMeetings(request: {
4591
- id: string;
4592
- title: string;
4593
- }[]): Promise<void>;
4594
- deleteMeetings(meetingIds: string[]): Promise<{
4595
- id: string;
4596
- }[]>;
4597
- moveParticipants(sourceMeetingId: string, destinationMeetingId: string, participantIds: string[]): Promise<{
4598
- success: boolean;
4599
- error?: undefined;
4600
- } | {
4601
- success: boolean;
4602
- error: any;
4603
- }>;
4604
- moveParticipantsWithCustomPreset(sourceMeetingId: string, destinationMeetingId: string, participants: {
4605
- id: string;
4606
- presetId: string;
4607
- }[]): Promise<{
4608
- success: boolean;
4609
- error?: undefined;
4610
- } | {
4611
- success: boolean;
4612
- error: any;
4613
- }>;
4614
- }
4615
-
4616
5758
  interface Overrides {
4617
5759
  disableSimulcast?: boolean;
4618
5760
  forceRelay?: boolean;
@@ -4644,6 +5786,7 @@ declare class RealtimeKitClient {
4644
5786
  get livestream(): Readonly<RTKLivestream$1>;
4645
5787
  get stage(): Readonly<RTKStage>;
4646
5788
  get stores(): Readonly<RTKStoreManager>;
5789
+ get audio(): AudioPlaybackManager;
4647
5790
  get __internals__(): Readonly<RTKInternals>;
4648
5791
  joinRoom(): Promise<void>;
4649
5792
  leaveRoom(state?: LeaveRoomState): Promise<void>;