@byteplus/rtc 4.55.3 → 4.56.1-meeting.6

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/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  // Generated by dts-bundle-generator v6.13.0
2
2
 
3
+ import { CoreSetParamterInterface } from '@byted/core-lib';
3
4
  import { EventArgs, EventEmitter, EventNames, ValidEventTypes } from 'eventemitter3';
4
5
 
5
6
  /**
@@ -317,11 +318,6 @@ declare enum ErrorCode {
317
318
  */
318
319
  INVALID_TOKEN = "INVALID_TOKEN",
319
320
 
320
- /**
321
- * @brief Token expired.
322
- */
323
- EXPIRED_TOKEN = "EXPIRED_TOKEN",
324
-
325
321
  /**
326
322
  * @brief Failure of joining room
327
323
  */
@@ -718,7 +714,17 @@ declare enum ErrorCode {
718
714
  /**
719
715
  * @brief Unexpected cross-room media stream forwarding API call. For example, calling `stopForwardStreamToRooms` when media forwarding has already stopped.
720
716
  */
721
- UNEXPECTED_INVOKE_FORWARD_STREAM = "UNEXPECTED_INVOKE_FORWARD_STREAM"
717
+ UNEXPECTED_INVOKE_FORWARD_STREAM = "UNEXPECTED_INVOKE_FORWARD_STREAM",
718
+
719
+ /**
720
+ * @brief Failed to enter the room because the room is banned.
721
+ */
722
+ ROOM_FORBIDDEN = "ROOM_FORBIDDEN",
723
+
724
+ /**
725
+ * @brief Failed to enter the room because the user is banned.
726
+ */
727
+ USER_FORBIDDEN = "USER_FORBIDDEN"
722
728
  }
723
729
  declare enum AudioMixingError {
724
730
 
@@ -772,6 +778,16 @@ declare enum AudioMixingError {
772
778
  */
773
779
  AUDIO_MIXING_ERROR_INVALID_AUDIO_TRACK = 9
774
780
  }
781
+ export interface IJoinRoomConfig {
782
+ useTcpAfterJoinTimeout: boolean;
783
+ joinWithTcpOnly: boolean;
784
+ joinWithTcpOnlyDelay: number;
785
+ }
786
+ export interface ExtraJoinRoomParams {
787
+ serviceType?: string;
788
+ tenantId?: string;
789
+ [key: string]: any;
790
+ }
775
791
  export declare type RTCExtension = any;
776
792
  declare enum StreamMixingEventType {
777
793
 
@@ -1937,7 +1953,9 @@ declare enum EngineEventsTypes {
1937
1953
  onVendorConnectionStateChanged = "onVendorConnectionStateChanged",
1938
1954
  onForwardStreamError = "onForwardStreamError",
1939
1955
  onRejoinWithTcp = "onRejoinWithTcp",
1940
- onIceConnectWithTcp = "onIceConnectWithTcp"
1956
+ onIceConnectWithTcp = "onIceConnectWithTcp",
1957
+ onPublishRetry = "onPublishRetry",
1958
+ onSubscribeRetry = "onSubscribeRetry"
1941
1959
  }
1942
1960
 
1943
1961
  /**
@@ -2129,7 +2147,7 @@ export interface IEngineEvents {
2129
2147
  [EngineEventsTypes.onAudioDeviceStateChanged]: (event: DeviceInfo) => void;
2130
2148
 
2131
2149
  /**
2132
- * @brief Event of media track ending
2150
+ * @brief Media track ended event. Please restart capture in the callback thread.
2133
2151
  * @param event
2134
2152
  * @group Video Management
2135
2153
  * @order 75
@@ -2432,7 +2450,7 @@ export interface IEngineEvents {
2432
2450
  [EngineEventsTypes.onLiveTranscodingResult]: (event: LiveTranscodingResultEvent) => void;
2433
2451
 
2434
2452
  /**
2435
- * @brief event of error
2453
+ * @brief An error occurred in the SDK.
2436
2454
  * @param event
2437
2455
  * @group Room Management
2438
2456
  * @order 40
@@ -2440,9 +2458,15 @@ export interface IEngineEvents {
2440
2458
  [EngineEventsTypes.onError]: (event: {
2441
2459
 
2442
2460
  /**
2443
- * @brief The reason why the current user has been removed from the room.
2461
+ * @brief See [ErrorCode](104480#errorcode).
2462
+ */
2463
+ errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.TOKEN_EXPIRED | ErrorCode.RECONNECT_FAILED | ErrorCode.KICKED_OUT | ErrorCode.ROOM_DISMISS;
2464
+
2465
+ /**
2466
+ * @brief The Unix timestamp in milliseconds when the room will be unbanned.
2467
+ * When `forbiddenTime` is 0, it represents that the user can enter the room again.
2444
2468
  */
2445
- errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.EXPIRED_TOKEN | ErrorCode.RECONNECT_FAILED;
2469
+ forbiddenTime?: number;
2446
2470
  }) => void;
2447
2471
 
2448
2472
  /**
@@ -2708,6 +2732,21 @@ export interface IEngineEvents {
2708
2732
  * @hidden
2709
2733
  */
2710
2734
  [EngineEventsTypes.onIceConnectWithTcp]: () => void;
2735
+
2736
+ /**
2737
+ * @hidden
2738
+ */
2739
+ [EngineEventsTypes.onPublishRetry]: (e: {
2740
+ screen: boolean;
2741
+ }) => void;
2742
+
2743
+ /**
2744
+ * @hidden
2745
+ */
2746
+ [EngineEventsTypes.onSubscribeRetry]: (e: {
2747
+ userId: string;
2748
+ screen: boolean;
2749
+ }) => void;
2711
2750
  }
2712
2751
 
2713
2752
  /**
@@ -2727,7 +2766,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2727
2766
  * @param roomId The Room ID. The string must conform to the regular expression: `[a-zA-Z0-9_@\-\.]{1,128}`.
2728
2767
  * @param userInfo User information.
2729
2768
  * @param roomConfig Room parameter configuration, set the room mode and whether to automatically publish or subscribe to the flow.
2730
- * @return
2769
+ * @return The error code `ErrorCode.ROOM_FORBIDDEN` indicates that the user failed to enter the room because the room has been banned.
2770
+ * The error code `ErrorCode.USER_FORBIDDEN` indicates that the user failed to enter the room because the user has been banned.
2731
2771
  * @notes + In the same room with the same App ID, the user ID of each user must be unique. The user will be kicked out of the room when a user with the same userID joins the room because of the error of `DUPLICATE_LOGIN`.
2732
2772
  * + Remote users will receive [onUserJoined](104479#onuserjoined) callback when a visible user joins the room. Call [setUserVisibility](#setuservisibility) to switch the visibility of the user.
2733
2773
  * + RTC SDK will try reconnect after losing connection to the server caused by a poor network connection. At this point, [onConnectionStateChanged](104479#onconnectionstatechanged) callback will be triggered and the SDK will automatically retry until it successfully reconnects to the server. The remote user will receive [onUserJoined](104479#onuserjoined) if a visible user reconnected successfully.
@@ -2923,10 +2963,56 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2923
2963
  * @notes + Call [startAudioCapture](#startaudiocapture) to enable the internal audio capture.
2924
2964
  * + Without calling this API the internal audio capture will sustain until you destroy the engine instance.
2925
2965
  * @group Audio Management
2926
- * @order 6
2966
+ * @order 7
2927
2967
  */
2928
2968
  stopAudioCapture: () => Promise<void>;
2929
2969
 
2970
+ /**
2971
+ * @brief Enable audio and video capture using the internal capture module. When calling this method, the browser will request microphone and camera permissions simultaneously, and the user only needs to grant permission once.
2972
+ * When calling this method, other users in the room will receive the callback of [onUserStartVideoCapture](104479#onuserstartvideocapture) and [onUserStartAudioCapture](104479#onuserstartaudiocapture).
2973
+ * @param optionsOrAudioDeviceId When using a single parameter, both audio and video device IDs can be set simultaneously. When using two parameters, the audio device's ID can be set.
2974
+ * @param videoDeviceId Video device's ID.
2975
+ * @return The actual audio and video capture parameters that take effect. Refer to [MediaTrackSettings](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings). Pay attention to the properties: `deviceId`, `channelCount`, `sampleRate`, `frameRate`, `height` and `width`.
2976
+ * @notes + The audio and video capture can be published using [publishStream](#publishstream) and unpublished using [unPublishStream](#unpublishstream).
2977
+ * + The method cannot be called simultaneously with [startVideoCapture](#startvideocapture) / [startAudioCapture](#startaudiocapture).
2978
+ * + If either the camera or the microphone fails to complete the capture when calling this method, the audio and video capture will fail.
2979
+ * + To stop audio and video capture, call [stopVideoCapture] (#stopvideocapture) / [stopAudioCapture](#stopaudiocapture).
2980
+ * @group Audio Management
2981
+ * @order 6
2982
+ */
2983
+ startAudioAndVideoCapture: (optionsOrAudioDeviceId?: {
2984
+
2985
+ /**
2986
+ * @brief Audio device's ID.
2987
+ */
2988
+ audioDeviceId?: string;
2989
+
2990
+ /**
2991
+ * @brief Video device's ID.
2992
+ */
2993
+ videoDeviceId?: string;
2994
+ } | string, videoDeviceId?: string) => Promise<{
2995
+ audioTrackSettings: MediaTrackSettings;
2996
+ videoTrackSettings: MediaTrackSettings;
2997
+ }>;
2998
+
2999
+ /**
3000
+ * @hidden
3001
+ * @brief Enable audio and video capture using the internal capture module. When calling this method, the browser will request microphone and camera permissions simultaneously, and the user only needs to grant permission once.
3002
+ * When calling this method, other users in the room will receive the callback of [onUserStartVideoCapture](104479#onuserstartvideocapture) and [onUserStartAudioCapture](104479#onuserstartaudiocapture).
3003
+ * @param videoDeviceId Video device's ID.
3004
+ * @param audioDeviceId Audio device's ID.
3005
+ * @return The actual audio and video capture parameters that take effect. Refer to [MediaTrackSettings](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings). Pay attention to the properties: `deviceId`, `channelCount`, `sampleRate`, `frameRate`, `height` and `width`.
3006
+ * @notes + The audio and video capture can be published using [publishStream](#publishstream) and unpublished using [unPublishStream](#unpublishstream).
3007
+ * + The method cannot be called simultaneously with [startVideoCapture](#startvideocapture) / [startAudioCapture](#startaudiocapture).
3008
+ * + If either the camera or the microphone fails to complete the capture when calling this method, the audio and video capture will fail.
3009
+ * + To stop audio and video capture, call [stopVideoCapture](#stopvideocapture) / [stopAudioCapture](#stopaudiocapture).
3010
+ */
3011
+ startVideoAndAudioCapture: (videoDeviceId?: string, audioDeviceId?: string) => Promise<{
3012
+ audioTrackSettings: MediaTrackSettings;
3013
+ videoTrackSettings: MediaTrackSettings;
3014
+ }>;
3015
+
2930
3016
  /**
2931
3017
  * @brief Use the capture module provided by the RTC SDK to capture the current screen stream for sharing.
2932
3018
  * @param screenConfig Specify properties for the sharing screen.
@@ -2949,22 +3035,22 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2949
3035
 
2950
3036
  /**
2951
3037
  * @brief Bind a view to the local media stream and set the rendering mode for the rendering of the local stream
2952
- * Listen to `onPlayerEvent` for the state after binding a view to the local video stream.
2953
- * Call this API again with a blank view to unbind the view from the local video stream.
3038
+ * Listen to `onPlayerEvent` for the state after binding a view to the local video stream.
3039
+ * Call this API again with a blank view to unbind the view from the local video stream.
2954
3040
  * @param streamIndex Video stream properties
2955
3041
  * @param videoPlayerOption View information and rendering mode
2956
3042
  * @notes You should bind the view after the user joins a room. This setting will sustain when the user leaves the room.
2957
3043
  * @group Video Management
2958
3044
  * @order 20
2959
3045
  */
2960
- setLocalVideoPlayer: (streamIndex: StreamIndex, videoPlayerOption?: Partial<VideoPlayerOption>) => HTMLVideoElement | undefined;
3046
+ setLocalVideoPlayer: (streamIndex: StreamIndex, videoPlayerOption?: Partial<Omit<VideoPlayerOption, "rotation">>) => HTMLVideoElement | undefined;
2961
3047
 
2962
3048
  /**
2963
3049
  * @brief Bind a view to the remote media stream and set the rendering mode for the rendering of the remote stream
2964
3050
  * It's recommended to call this API and bind a view once the event of [onUserPublishStream](104479#onuserpublishstream)/[onUserPublishScreen](104479#onuserpublishscreen) is triggered.
2965
3051
  * Call this API again with a blank view to unbind the view from the remote video stream.
2966
3052
  * @param streamIndex Video stream properties
2967
- * @param videoPlayer View information and rendering mode
3053
+ * @param videoPlayerOption View information and rendering mode. Starting from version 4.56, you can set the rotation angle of the remote video rendering using `rotation`.
2968
3054
  * @notes You should bind the view after the user joins a room. This setting will sustain when the user leaves the room.
2969
3055
  * @group Video Management
2970
3056
  * @order 21
@@ -3722,6 +3808,16 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3722
3808
  */
3723
3809
  setRemoteStreamRenderSync: (sync: boolean) => boolean;
3724
3810
 
3811
+ /**
3812
+ * @hidden
3813
+ */
3814
+ setJoinRoomParams: (params: ExtraJoinRoomParams) => void;
3815
+
3816
+ /**
3817
+ * @hidden
3818
+ */
3819
+ connect: () => Promise<void>;
3820
+
3725
3821
  /**
3726
3822
  * @brief Adjust audio capture volume.
3727
3823
  * @param streamIndex The index of the target stream whose recording volume is to be adjusted.
@@ -3816,6 +3912,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3816
3912
  * @order 44
3817
3913
  */
3818
3914
  resumeForwardStreamToAllRooms: () => Promise<ForwardStreamStateInfo[]>;
3915
+ peerConnection: RTCPeerConnection | undefined;
3916
+ iceState: RTCIceConnectionState | undefined;
3819
3917
  }
3820
3918
 
3821
3919
  /**
@@ -4036,8 +4134,8 @@ export declare enum MirrorMode {
4036
4134
  */
4037
4135
  export interface VideoPlayerOption {
4038
4136
 
4039
- /** Dom
4040
- *
4137
+ /**
4138
+ * @brief DOM
4041
4139
  */
4042
4140
  renderDom?: string | HTMLElement;
4043
4141
 
@@ -4054,6 +4152,12 @@ export interface VideoPlayerOption {
4054
4152
  * + underscore "_", at character "@", minus, number "-"
4055
4153
  */
4056
4154
  userId: string;
4155
+
4156
+ /**
4157
+ * @brief The clockwise rotation angle of the video frame, which can be set to 0, 90, 180, 270. The default value is 0, which means no rotation is applied.<br>
4158
+ * This parameter only applies to remote video. Setting this parameter will not take effect when calling [setLocalVideoPlayer](104478#setlocalvideoplayer).
4159
+ */
4160
+ rotation?: number;
4057
4161
  }
4058
4162
 
4059
4163
  /**
@@ -4329,6 +4433,15 @@ export interface VideoEncoderConfig {
4329
4433
  * @brief The maximum bitrate in Kbps (>0). The default value is 600 Kbps.
4330
4434
  */
4331
4435
  maxKbps: number;
4436
+
4437
+ /**
4438
+ * @brief The type of content the track contains.
4439
+ * `'text'`:The track should be treated as if video details are extra important, and that significant sharp edges and areas of consistent color can occur frequently. For example, presentations or web pages with text content.
4440
+ * `'motion'`:The track should be treated as if it contains video where motion is important. For example, webcam video, movies or video games.
4441
+ * `'detail'`:The track should be treated as if video details are extra important. For example, presentations or web pages with text content, painting or line art.
4442
+ * @notes This property is not supported on Firefox. See [contentHint browser compatibility](https://caniuse.com/?search=contentHint).
4443
+ */
4444
+ contentHint?: "text" | "motion" | "detail";
4332
4445
  }
4333
4446
 
4334
4447
  /**
@@ -4360,11 +4473,11 @@ export interface ScreenEncoderConfig {
4360
4473
  maxKbps: number;
4361
4474
 
4362
4475
  /**
4363
- * @brief Content types of the shared video.
4364
- * - 'detail' [Default setting]:clarity first, for video content containing a mix of images and text.
4365
- * - 'text':clarity first, for video content containing only a large amount of text.
4366
- * - 'motion':fluency first, applicable to scenarios when video content is camera captured source, movies, videos, games.
4367
- * @notes Only Chrome browser is supported to set the configuration.
4476
+ * @brief The type of content the track contains.
4477
+ * `'text'`:The track should be treated as if video details are extra important, and that significant sharp edges and areas of consistent color can occur frequently. For example, presentations or web pages with text content.
4478
+ * `'motion'`:The track should be treated as if it contains video where motion is important. For example, webcam video, movies or video games.
4479
+ * `'detail'`:The track should be treated as if video details are extra important. For example, presentations or web pages with text content, painting or line art.
4480
+ * @notes This property is not supported on Firefox. See [contentHint browser compatibility](https://caniuse.com/?search=contentHint).
4368
4481
  */
4369
4482
  contentHint?: "text" | "motion" | "detail";
4370
4483
  }
@@ -4409,6 +4522,55 @@ export interface AudioPropertiesConfig {
4409
4522
  * + false: Disable the prompt
4410
4523
  */
4411
4524
  enableInBackground?: boolean;
4525
+
4526
+ /**
4527
+ * @brief Audio callback mode of local main stream.
4528
+ */
4529
+ localMainReportMode?: LocalMainReportMode;
4530
+
4531
+ /**
4532
+ * @brief The data range of the local main stream audio callback. It controls whether the callback includes mixed audio.
4533
+ */
4534
+ audioReportMode?: AudioReportMode;
4535
+ }
4536
+
4537
+ /**
4538
+ * @brief Audio callback mode of local main stream.
4539
+ * This feature affects the callback [onActiveSpeaker](104479#onactivespeaker). For example, if [LocalMainReportMode](#localmainreportmode) is set to `RESET` when the local main stream is unpublished, the callback will never include the local user's main stream audio.
4540
+ */
4541
+ export declare enum LocalMainReportMode {
4542
+
4543
+ /**
4544
+ * @brief (Default) When the local main stream exists, the callback is always enabled.
4545
+ */
4546
+ NORMAL = 0,
4547
+
4548
+ /**
4549
+ * @brief When the local main stream is unpublished, the callback is disabled. However, once it is published, the callback function will return the actual volume value.
4550
+ */
4551
+ DISCONNECT = 1,
4552
+
4553
+ /**
4554
+ * @brief When the local main stream is unpublished, the callback function will return a fixed volume value of 0. However, once it is published, the callback function will return the actual volume value.
4555
+ */
4556
+ RESET = 2
4557
+ }
4558
+
4559
+ /**
4560
+ * @brief The data range of the local main stream audio callback. It controls whether the callback includes mixed audio.
4561
+ * This feature affects the callback [onActiveSpeaker](104479#onactivespeaker). For example, if [AudioReportMode](#audioreportmode) is set to `AUDIOMIXING`, the callback may still include the local user's main stream audio even with zero microphone volume.
4562
+ */
4563
+ export declare enum AudioReportMode {
4564
+
4565
+ /**
4566
+ * @brief (Default) The microphone audio or the audio before mixing.
4567
+ */
4568
+ MICROPHONE = 0,
4569
+
4570
+ /**
4571
+ * @brief The audio after mixing.
4572
+ */
4573
+ AUDIOMIXING = 1
4412
4574
  }
4413
4575
 
4414
4576
  /**
@@ -5428,15 +5590,51 @@ export interface CloudProxyConnectedEvent {
5428
5590
  */
5429
5591
  interval: number;
5430
5592
  }
5593
+ export interface SetParamInterface {
5594
+ VERSION: string;
5595
+ ICE_CONFIG_REQUEST_URLS_INTERNAL: string[];
5596
+ ICE_CONFIG_REQUEST_URLS: string[] | string;
5597
+ EXPECTED_ADDR: string;
5598
+ LOG_SERVER_URL: string;
5599
+ CONFIG_REQUEST_DOMAINS: string[];
5600
+ DEVICE_ID: string;
5601
+ OVERSEA: boolean;
5602
+ PLATFORM: string;
5603
+ PRODUCT: string;
5604
+ FORCE_ENABLED_REPORT_CALLBACKS: string[];
5605
+ SKIP_WEB_AUDIO_IN_TRACK: boolean;
5606
+ AUDIO_STALL: boolean;
5607
+ VIDEO_STALL: boolean;
5608
+ STATS_SCALLBACK_SUPPORT: boolean;
5609
+ JOIN_ROOM_CONFIG: IJoinRoomConfig;
5610
+ ENABLE_REPORT_IDB_BUFFER: boolean;
5611
+ SIGNAL_COMPRESSION: boolean;
5612
+ SIGNAL_CROP_JOINROOM: boolean;
5613
+ }
5614
+ export declare type SetParamKey = keyof (SetParamInterface & CoreSetParamterInterface);
5431
5615
  declare const Config: {
5432
- [key: string]: any;
5616
+ VERSION: string;
5617
+ ICE_CONFIG_REQUEST_URLS_INTERNAL: string[];
5618
+ ICE_CONFIG_REQUEST_URLS: string[];
5619
+ EXPECTED_ADDR: string;
5620
+ LOG_SERVER_URL: string;
5621
+ CONFIG_REQUEST_DOMAINS: string[];
5622
+ DEVICE_ID: string;
5623
+ OVERSEA: boolean;
5624
+ PLATFORM: string;
5625
+ PRODUCT: string;
5626
+ FORCE_ENABLED_REPORT_CALLBACKS: string[];
5627
+ SKIP_WEB_AUDIO_IN_TRACK: boolean;
5628
+ AUDIO_STALL: boolean;
5629
+ VIDEO_STALL: boolean;
5630
+ STATS_SCALLBACK_SUPPORT: boolean;
5631
+ JOIN_ROOM_CONFIG: IJoinRoomConfig;
5632
+ SIGNAL_COMPRESSION: boolean;
5633
+ SIGNAL_CROP_JOINROOM: boolean;
5634
+ IOS_SAFARI_ORIENTATION: boolean;
5433
5635
  };
5434
- declare function setParameter(key: keyof typeof Config, value: any): {
5435
- useTcpAfterJoinTimeout: boolean;
5436
- joinWithTcpOnly: boolean;
5437
- joinWithTcpOnlyDelay: number;
5438
- } | undefined;
5439
- declare function getParameter(key: keyof typeof Config): any;
5636
+ declare function setParameter<T extends SetParamKey>(key: T, value: (SetParamInterface & CoreSetParamterInterface)[T]): IJoinRoomConfig | undefined;
5637
+ declare function getParameter(key: keyof typeof Config): string | boolean | string[] | IJoinRoomConfig;
5440
5638
 
5441
5639
  /**
5442
5640
  * @id BytePlusRTC
@@ -5460,6 +5658,11 @@ export interface IVERTC {
5460
5658
  */
5461
5659
  createEngine: (appId: string, config?: EngineConfig) => IRTCEngine;
5462
5660
 
5661
+ /**
5662
+ * @hidden
5663
+ */
5664
+ createBLWEngine: (appId: string, config?: EngineConfig) => IRTCEngine;
5665
+
5463
5666
  /**
5464
5667
  * @brief Call this API to destroy the IRTCEngine instance created by [createEngine](104478#createengine).
5465
5668
  * @param engine By calling this API, this `IRTCEngine` instance and resource related will be wiped from memory. And any interaction with the media server will end.
@@ -5592,9 +5795,17 @@ export interface IVERTC {
5592
5795
  */
5593
5796
  downloadLog: (key?: string) => void;
5594
5797
  }
5798
+ /**
5799
+ * @hidden
5800
+ */
5801
+ export interface IBLWRTCEngine extends IRTCEngine {
5802
+
5803
+ setRemoteScreenVideoStreamIndex: (streamIndex: StreamIndex) => boolean;
5804
+ }
5595
5805
  declare class VERTC implements IVERTC {
5596
- getSdkVersion: () => any;
5806
+ getSdkVersion: () => string;
5597
5807
  createEngine: (appId: string, config?: EngineConfig | undefined) => IRTCEngine;
5808
+ createBLWEngine: (appId: string, config?: EngineConfig | undefined) => IBLWRTCEngine;
5598
5809
  destroyEngine: (engine: IRTCEngine) => void;
5599
5810
  enumerateDevices: () => Promise<MediaDeviceInfo[]>;
5600
5811
  enableDevices: (options?: {