UNPKG

ar-rtc-sdk

Version:

For publishing npm package anyrtc SDK (Web). Get more information from https://www.anyrtc.io.

736 lines (647 loc) 25.5 kB
declare type addListenerCallback<T> = (...args: any[]) => T; export declare enum AreaCode { CHINA = 1, NORTH_AMERICA = 2, EUROPE = 4, ASIA = 8, JAPAN = 16, INDIA = 32, GLOBAL = 4294967295 } declare const ArRTC: IArRTC; export { ArRTC } export default ArRTC; declare class ArRTCError { name: string; code: string; message: string; data: any; constructor(code: string, message?: string, data?: any); toString(): string; } export declare interface ArRTCStats { Duration: number; OutgoingAvailableBandwidth: number; RTT: number; RecvBitrate: number; RecvBytes: number; SendBitrate: number; SendBytes: number; UserCount: number; } export declare interface AudioEncoderConfiguration { bitrate?: number; sampleRate?: number; sampleSize?: number; stereo?: boolean; } export declare type AudioEncoderConfigurationPreset = keyof typeof audioEncoderConfigurationPreset; declare const audioEncoderConfigurationPreset: { speech_low_quality: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; speech_standard: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; music_standard: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; standard_stereo: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; high_quality: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; high_quality_stereo: { sampleRate: number; stereo: boolean; bitrate: number | undefined; }; }; declare interface AudioSourceOptions { cycle?: number; loop?: boolean; startPlayTime?: number; } export declare type AudioSourceState = "stopped" | "playing" | "paused"; export declare interface BufferSourceAudioTrackInitConfig { cacheOnlineFile?: boolean; encoderConfig?: AudioEncoderConfiguration | AudioEncoderConfigurationPreset; source: File | string | AudioBuffer; } export declare interface CameraVideoTrackInitConfig { cameraId?: string; encoderConfig?: VideoEncoderConfiguration | VideoEncoderConfigurationPreset; facingMode?: "user" | "environment"; optimizationMode?: "balanced" | "motion" | "detail"; } export declare enum ChannelMediaRelayError { DEST_TOKEN_EXPIRED = "DEST_TOKEN_EXPIRED", RELAY_OK = "RELAY_OK", SERVER_CONNECTION_LOST = "SERVER_CONNECTION_LOST", SRC_TOKEN_EXPIRED = "SRC_TOKEN_EXPIRED" } export declare enum ChannelMediaRelayEvent { NETWORK_CONNECTED = "NETWORK_CONNECTED", NETWORK_DISCONNECTED = "NETWORK_DISCONNECTED", PACKET_JOINED_DEST_CHANNEL = "PACKET_JOINED_DEST_CHANNEL", PACKET_JOINED_SRC_CHANNEL = "PACKET_JOINED_SRC_CHANNEL", PACKET_RECEIVED_AUDIO_FROM_SRC = "PACKET_RECEIVED_AUDIO_FROM_SRC", PACKET_RECEIVED_VIDEO_FROM_SRC = "PACKET_RECEIVED_VIDEO_FROM_SRC", PACKET_SENT_TO_DEST_CHANNEL = "PACKET_SENT_TO_DEST_CHANNEL", PACKET_UPDATE_DEST_CHANNEL = "PACKET_UPDATE_DEST_CHANNEL", PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = "PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE", PACKET_UPDATE_DEST_CHANNEL_REFUSED = "PACKET_UPDATE_DEST_CHANNEL_REFUSED" } export declare interface ChannelMediaRelayInfo { channelName: string; token?: string; uid: number; } export declare enum ChannelMediaRelayState { RELAY_STATE_CONNECTING = "RELAY_STATE_CONNECTING", RELAY_STATE_FAILURE = "RELAY_STATE_FAILURE", RELAY_STATE_IDLE = "RELAY_STATE_IDLE", RELAY_STATE_RUNNING = "RELAY_STATE_RUNNING" } export declare interface ClientConfig { codec: SDK_CODEC; mode: SDK_MODE; role?: ClientRole; } export declare type ClientRole = "audience" | "host"; export declare interface ConfigParameters { ConfPriCloudAddr?: { ServerAdd: string; Port?: number; Wss?: boolean; }; ConfPriCloudAddr1?: { ServerAdd: string; Port?: number; Wss?: boolean; }; SetTurnSvr?: { Uri: string; Account: string; Pwd: string; }; ConfPriEventAddr?: { ServerAdd: string; Port?: number; Wss?: boolean; }; ConfPriMediaAddr?: { ServerAdd: string; Port?: number; Wss?: boolean; }; UserQuality?: { Enable: boolean; }; AudioVolumeInterval?: number; AreaCode?: AreaCode; Region?: Region; ConfIOT?: { Enabled: boolean; FrameRate: number; }; } export declare enum ConnectionDisconnectedReason { CHANNEL_BANNED = "CHANNEL_BANNED", IP_BANNED = "IP_BANNED", LEAVE = "LEAVE", NETWORK_OFFLINE = "NETWORK_OFFLINE", NETWORK_ERROR = "NETWORK_ERROR", SERVER_ERROR = "SERVER_ERROR", UID_BANNED = "UID_BANNED", DEVELOPER_INVALID = "DEVELOPER_INVALID", TOKEN_INVALID = "TOKEN_INVALID", CONNECT_TIME_OUT = "CONNECT_TIME_OUT", KEEP_A_LIVE_TIME_OUT = "KEEP_A_LIVE_TIME_OUT" } export declare type ConnectionState = "DISCONNECTED" | "CONNECTING" | "RECONNECTING" | "CONNECTED" | "DISCONNECTING"; export declare interface CustomAudioTrackInitConfig { encoderConfig?: AudioEncoderConfiguration | AudioEncoderConfigurationPreset; mediaStreamTrack: MediaStreamTrack; } export declare interface CustomVideoTrackInitConfig { bitrateMax?: number; bitrateMin?: number; mediaStreamTrack: MediaStreamTrack; optimizationMode?: "balanced" | "motion" | "detail"; } export declare interface DeviceInfo { device: MediaDeviceInfo; initAt: number; state: DeviceState; updateAt: number; } export declare type DeviceState = "ACTIVE" | "INACTIVE"; export declare interface ElectronDesktopCapturerSource { id: string; name: string; thumbnail: IElectronNativeImage; } declare type EncryptionMode = "aes-128-xts" | "aes-256-xts" | "aes-128-ecb" | "none"; declare type eventChannelMediaRelayEvent = (event: ChannelMediaRelayEvent) => void; declare type eventChannelMediaRelayState = (state: ChannelMediaRelayState, code: ChannelMediaRelayError) => void; declare type eventConnectionStateChange = (curState: ConnectionState, revState: ConnectionState, reason?: ConnectionDisconnectedReason) => void; declare class EventEmitter { private _events; private addListener; constructor(); getListeners(event: string): unknown[]; on(event: string, callback: addListenerCallback<void>): void; once(event: string, callback: addListenerCallback<void>): void; off(event: string, callback: addListenerCallback<void>): void; removeAllListeners(event?: string): void; emit(event: string, ...args: any[]): void; private _indexOfListener; } declare type eventFirstFrameDecoded = () => void; declare type eventLiveStreamingError = (url: string, err: ArRTCError) => void; declare type eventLiveStreamingWarning = (url: string, warning: ArRTCError) => void; declare type eventNetworkQuality = (stats: NetworkQuality) => void; declare type eventSourceStateChange = (currentState: AudioSourceState) => void; declare type eventStreamFallback = (uid: UID, isFallbackOrRecover: "fallback" | "recover") => void; declare type eventStreamTypeChanged = (streamType: RemoteStreamType) => void; declare type eventTokenPrivilegeDidExpire = () => void; declare type eventTokenPrivilegeWillExpire = () => void; declare type eventTrackEnded = () => void; declare type eventUserJoined = (user: IArRTCRemoteUser) => void; declare type eventUserLeft = (user: IArRTCRemoteUser, reason: string) => void; declare type eventUserPublished = (user: IArRTCRemoteUser, mediaType: "audio" | "video") => void; declare type eventUserUnpublished = (user: IArRTCRemoteUser, mediaType: "audio" | "video") => void; declare type eventVolumeIndicator = (result: VolumeIndicator[]) => void; export declare interface IArRTC { onCameraChanged?: (deviceInfo: DeviceInfo) => void; onMicrophoneChanged?: (deviceInfo: DeviceInfo) => void; onPlaybackDeviceChanged?: (deviceInfo: DeviceInfo) => void; onAudioAutoplayFailed?: () => void; VERSION: string; BUILD: string; createClient(config: ClientConfig): IArRTCClient; createBufferSourceAudioTrack(config: BufferSourceAudioTrackInitConfig): Promise<IBufferSourceAudioTrack>; createCameraVideoTrack(config?: CameraVideoTrackInitConfig): Promise<ICameraVideoTrack>; createMicrophoneAudioTrack(config?: MicrophoneAudioTrackInitConfig): Promise<IMicrophoneAudioTrack>; createMicrophoneAndCameraTracks(audioConfig?: MicrophoneAudioTrackInitConfig, videoConfig?: CameraVideoTrackInitConfig): Promise<[IMicrophoneAudioTrack, ICameraVideoTrack]>; createCustomAudioTrack(config: CustomAudioTrackInitConfig): ILocalAudioTrack; createCustomVideoTrack(config: CustomVideoTrackInitConfig): ILocalVideoTrack; createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio: "enable"): Promise<[ILocalVideoTrack, ILocalAudioTrack]>; createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio: "disable"): Promise<ILocalVideoTrack>; createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio?: "enable" | "disable" | "auto"): Promise<[ILocalVideoTrack, ILocalAudioTrack] | ILocalVideoTrack>; disableLogUpload(): void; enableLogUpload(): void; setLogLevel(level: number): void; getDevices(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>; getCameras(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>; getMicrophones(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>; getPlaybackDevices(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>; getElectronScreenSources(type?: ScreenSourceType): Promise<ElectronDesktopCapturerSource[]>; checkSystemRequirements(): boolean; createChannelMediaRelayConfiguration(): IChannelMediaRelayConfiguration; getSupportedCodec(): Promise<{ video: string[]; audio: string[]; }>; } export declare interface IArRTCClient extends EventEmitter { channelName?: string; connectionState: ConnectionState; localTracks: ILocalTrack[]; remoteUsers: IArRTCRemoteUser[]; uid?: UID; on(event: "connection-state-change", listener: eventConnectionStateChange): void; on(event: "user-joined", listener: eventUserJoined): void; on(event: "user-left", listener: eventUserLeft): void; on(event: "user-published", listener: eventUserPublished): void; on(event: "user-unpublished", listener: eventUserUnpublished): void; on(event: "stream-type-changed", listener: eventStreamTypeChanged): void; on(event: "stream-fallback", listener: eventStreamFallback): void; on(event: "channel-media-relay-state", listener: eventChannelMediaRelayState): void; on(event: "channel-media-relay-event", listener: eventChannelMediaRelayEvent): void; on(event: "volume-indicator", listener: eventVolumeIndicator): void; on(event: "token-privilege-will-expire", listener: eventTokenPrivilegeWillExpire): void; on(event: "token-privilege-did-expire", listener: eventTokenPrivilegeDidExpire): void; on(event: "network-quality", listener: eventNetworkQuality): void; on(event: "live-streaming-error", listener: eventLiveStreamingError): void; on(event: "live-streaming-warning", listener: eventLiveStreamingWarning): void; on(event: string, listener: addListenerCallback<void>): void; join(appid: string, channel: string, token: string | null, uid?: UID | null): Promise<UID>; leave(): Promise<void>; publish(tracks: ILocalTrack | ILocalTrack[]): Promise<void>; unpublish(tracks?: ILocalTrack | ILocalTrack[]): Promise<void>; subscribe(user: IArRTCRemoteUser, mediaType: "video"): Promise<IRemoteVideoTrack>; subscribe(user: IArRTCRemoteUser, mediaType: "audio"): Promise<IRemoteAudioTrack>; subscribe(user: IArRTCRemoteUser, mediaType: "video" | "audio"): Promise<IRemoteTrack>; unsubscribe(user: IArRTCRemoteUser, mediaType?: "video" | "audio"): Promise<void>; setLowStreamParameter(streamParameter: LowStreamParameter): void; enableDualStream(): Promise<void>; disableDualStream(): Promise<void>; setClientRole(role: ClientRole): Promise<void>; setRemoteVideoStreamType(uid: UID, streamType: RemoteStreamType): Promise<void>; setStreamFallbackOption(uid: UID, fallbackType: RemoteStreamFallbackType): Promise<void>; setEncryptionConfig(encryptionMode: EncryptionMode, secret: string): void; renewToken(token: string): Promise<void>; enableAudioVolumeIndicator(): void; getRTCStats(): ArRTCStats; setLiveTranscoding(config: LiveStreamingTranscodingConfig): Promise<void>; startLiveStreaming(url: string, transcodingEnabled?: boolean): Promise<void>; stopLiveStreaming(url: string): Promise<void>; addInjectStreamUrl(url: string, config: InjectStreamConfig): Promise<void>; removeInjectStreamUrl(): Promise<void>; startChannelMediaRelay(config: IChannelMediaRelayConfiguration): Promise<void>; updateChannelMediaRelay(config: IChannelMediaRelayConfiguration): Promise<void>; stopChannelMediaRelay(): Promise<void>; getLocalAudioStats(): LocalAudioTrackStats; getRemoteAudioStats(): { [uid: string]: RemoteAudioTrackStats; }; getRemoteNetworkQuality(): { [uid: string]: NetworkQuality; }; getLocalVideoStats(): LocalVideoTrackStats; getRemoteVideoStats(): { [uid: string]: RemoteVideoTrackStats; }; setParameters(options: ConfigParameters): void; } export declare interface IArRTCRemoteUser { uid: UID; audioTrack?: IRemoteAudioTrack; videoTrack?: IRemoteVideoTrack; hasAudio: boolean; hasVideo: boolean; } export declare interface IBufferSourceAudioTrack extends ILocalAudioTrack { source: string | File | AudioBuffer; currentState: AudioSourceState; duration: number; on(event: "source-state-change", listener: eventSourceStateChange): void; on(event: string, listener: addListenerCallback<void>): void; getCurrentTime(): number; startProcessAudioBuffer(options?: AudioSourceOptions): void; pauseProcessAudioBuffer(): void; seekAudioBuffer(time: number): void; resumeProcessAudioBuffer(): void; stopProcessAudioBuffer(): void; } export declare interface IBufferSourceAudioTrack extends ILocalAudioTrack { currentState: AudioSourceState; duration: number; source: string | File | AudioBuffer; getCurrentTime(): number; pauseProcessAudioBuffer(): void; resumeProcessAudioBuffer(): void; seekAudioBuffer(time: number): void; startProcessAudioBuffer(options?: AudioSourceOptions): void; stopProcessAudioBuffer(): void; } export declare interface ICameraVideoTrack extends ILocalVideoTrack { setDevice(deviceId: string): Promise<void>; setEnabled(enabled: boolean): Promise<void>; setEncoderConfiguration(config: VideoEncoderConfiguration | VideoEncoderConfigurationPreset): Promise<void>; } declare interface IChannelMediaRelayConfiguration { setSrcChannelInfo(info: ChannelMediaRelayInfo): void; addDestChannelInfo(info: ChannelMediaRelayInfo): void; removeDestChannelInfo(channelName: string): void; getSrcChannelMediaInfo(): void | ChannelMediaRelayInfo; getDestChannelMediaInfo(): Map<string, ChannelMediaRelayInfo>; } declare interface IElectronNativeImage { toDataURL(): string; } export declare interface ILocalAudioTrack extends ILocalTrack { getVolumeLevel(): number; setVolume(volume: number): void; play(): void; setPlaybackDevice(deviceId: string): Promise<void>; } export declare interface ILocalTrack extends ITrack { on(event: "track-ended", listener: eventTrackEnded): void; close(): void; setEnabled(enabled: boolean): void; setMuted(muted: boolean): void; getTrackLabel(): string; close(): void; enabled: boolean; muted: boolean; } export declare interface ILocalVideoTrack extends ILocalTrack { on(event: "track-ended", listener: eventTrackEnded): void; play(element: string | HTMLElement, config?: VideoPlayerConfig): void; getCurrentFrameData(): ImageData; setOptimizationMode(mode: "balanced" | "motion" | "detail"): Promise<void>; } export declare interface IMicrophoneAudioTrack extends ILocalAudioTrack { setDevice(deviceId: string): Promise<void>; } declare interface InjectStreamConfig { audioBitrate?: number; audioChannels?: number; audioSampleRate?: number; audioVolume?: number; height?: number; videoBitrate?: number; videoFramerate?: number; videoGop?: number; width?: number; } export declare interface IRemoteAudioTrack extends IRemoteTrack { getVolumeLevel(): number; setVolume(volume: number): void; setPlaybackDevice(deviceId: string): Promise<void>; play(): void; } export declare interface IRemoteTrack extends ITrack { on(event: "first-frame-decoded", listener: eventFirstFrameDecoded): void; } export declare interface IRemoteVideoTrack extends IRemoteTrack { play(element: string | HTMLElement, config?: VideoPlayerConfig): void; getCurrentFrameData(): ImageData; } declare interface ITrack { isPlaying: boolean; trackMediaType: "audio" | "video"; getMediaStreamTrack(): MediaStreamTrack; getTrackId(): string; play(element?: string | HTMLElement): void; stop(): void; } export declare interface LiveStreamingTranscodingConfig { audioBitrate?: number; audioChannels?: 1 | 2 | 3 | 4 | 5; audioSampleRate?: 32000 | 44100 | 48000; backgroundColor?: number; backgroundImage?: LiveStreamingTranscodingImage; height?: number; transcodingUsers?: LiveStreamingTranscodingUser[]; userConfigExtraInfo?: string; videoBitrate?: number; videoCodecProfile?: 66 | 77 | 100; videoFrameRate?: number; videoGop?: number; watermark?: LiveStreamingTranscodingImage; width?: number; } export declare interface LiveStreamingTranscodingImage { alpha?: number; height?: number; url: string; width?: number; x?: number; y?: number; } export declare interface LiveStreamingTranscodingUser { alpha?: number; audioChannel?: number; height?: number; uid: UID; width?: number; x?: number; y?: number; zOrder?: number; } export declare interface LocalAudioTrackStats { codecType?: "opus" | "aac"; sendBitrate: number; sendBytes: number; sendPackets: number; sendPacketsLost: number; sendVolumeLevel: number; } export declare interface LocalVideoTrackStats { captureFrameRate?: number; captureResolutionHeight: number; captureResolutionWidth: number; codecType?: "H264"; encodeDelay?: number; sendBitrate: number; sendBytes: number; sendFrameRate?: number; sendPackets: number; sendPacketsLost: number; sendResolutionHeight: number; sendResolutionWidth: number; targetSendBitrate: number; totalDuration: number; totalFreezeTime: number; packetLossRate: number; } export declare interface LowStreamParameter { bitrate?: number; framerate?: ConstrainULong; height: ConstrainULong; width: ConstrainULong; } export declare interface MicrophoneAudioTrackInitConfig { AEC?: boolean; AGC?: boolean; ANS?: boolean; encoderConfig?: AudioEncoderConfiguration | AudioEncoderConfigurationPreset; microphoneId?: string; } export declare interface NetworkQuality { downlinkNetworkQuality: 0 | 1 | 2 | 3 | 4 | 5 | 6; uplinkNetworkQuality: 0 | 1 | 2 | 3 | 4 | 5 | 6; } export declare enum Region { HB = "HB", HD = "HD", HN = "HN", XN = "XN", TW = "TW", HK = "HK" } export declare interface RemoteAudioTrackStats { codecType?: "opus" | "aac"; end2EndDelay: number; freezeRate: number; packetLossRate: number; receiveBitrate: number; receiveBytes: number; receiveDelay: number; receiveLevel: number; receivePackets: number; receivePacketsLost: number; totalDuration: number; totalFreezeTime: number; transportDelay: number; rtt: number; } export declare enum RemoteStreamFallbackType { AUDIO_ONLY = 2, DISABLE = 0, LOW_STREAM = 1 } export declare enum RemoteStreamType { HIGH_STREAM = 0, LOW_STREAM = 1 } export declare interface RemoteVideoTrackStats { codecType?: "H264"; decodeFrameRate?: number; end2EndDelay: number; freezeRate: number; packetLossRate: number; receiveBitrate: number; receiveBytes: number; receiveDelay: number; receiveFrameRate?: number; receivePackets: number; receivePacketsLost: number; receiveResolutionHeight: number; receiveResolutionWidth: number; renderFrameRate?: number; totalDuration: number; totalFreezeTime: number; transportDelay: number; rtt: number; } export declare type ScreenEncoderConfigurationPreset = keyof typeof screenEncoderConfigurationPreset; declare const screenEncoderConfigurationPreset: { "480p": VideoEncoderConfiguration; "480p_1": VideoEncoderConfiguration; "480p_2": VideoEncoderConfiguration; "480p_3": VideoEncoderConfiguration; "720p": VideoEncoderConfiguration; "720p_1": VideoEncoderConfiguration; "720p_2": VideoEncoderConfiguration; "720p_3": VideoEncoderConfiguration; "1080p": VideoEncoderConfiguration; "1080p_1": VideoEncoderConfiguration; "1080p_2": VideoEncoderConfiguration; "1080p_3": VideoEncoderConfiguration; }; export declare type ScreenSourceType = "screen" | "window" | "application"; export declare interface ScreenVideoTrackInitConfig { electronScreenSourceId?: string; encoderConfig?: VideoEncoderConfiguration | ScreenEncoderConfigurationPreset; extensionId?: string; screenSourceType?: ScreenSourceType; optimizationMode?: "balanced" | "motion" | "detail"; } export declare type SDK_CODEC = "h264"; export declare type SDK_MODE = "live" | "rtc"; export declare type UID = string; export declare interface VideoEncoderConfiguration { bitrateMax?: number; bitrateMin?: number; frameRate?: ConstrainULong; height?: ConstrainULong; width?: ConstrainULong; } export declare type VideoEncoderConfigurationPreset = keyof typeof videoEncoderConfigurationPreset; declare const videoEncoderConfigurationPreset: { "90p": VideoEncoderConfiguration; "90p_1": VideoEncoderConfiguration; "120p": VideoEncoderConfiguration; "120p_1": VideoEncoderConfiguration; "120p_3": VideoEncoderConfiguration; "120p_4": VideoEncoderConfiguration; "180p": VideoEncoderConfiguration; "180p_1": VideoEncoderConfiguration; "180p_3": VideoEncoderConfiguration; "180p_4": VideoEncoderConfiguration; "240p": VideoEncoderConfiguration; "240p_1": VideoEncoderConfiguration; "240p_3": VideoEncoderConfiguration; "240p_4": VideoEncoderConfiguration; "360p": VideoEncoderConfiguration; "360p_1": VideoEncoderConfiguration; "360p_3": VideoEncoderConfiguration; "360p_4": VideoEncoderConfiguration; "360p_6": VideoEncoderConfiguration; "360p_7": VideoEncoderConfiguration; "360p_8": VideoEncoderConfiguration; "360p_9": VideoEncoderConfiguration; "360p_10": VideoEncoderConfiguration; "360p_11": VideoEncoderConfiguration; "480p": VideoEncoderConfiguration; "480p_1": VideoEncoderConfiguration; "480p_2": VideoEncoderConfiguration; "480p_3": VideoEncoderConfiguration; "480p_4": VideoEncoderConfiguration; "480p_6": VideoEncoderConfiguration; "480p_8": VideoEncoderConfiguration; "480p_9": VideoEncoderConfiguration; "480p_10": VideoEncoderConfiguration; "720p": VideoEncoderConfiguration; "720p_1": VideoEncoderConfiguration; "720p_2": VideoEncoderConfiguration; "720p_3": VideoEncoderConfiguration; "720p_5": VideoEncoderConfiguration; "720p_6": VideoEncoderConfiguration; "1080p": VideoEncoderConfiguration; "1080p_1": VideoEncoderConfiguration; "1080p_2": VideoEncoderConfiguration; "1080p_3": VideoEncoderConfiguration; "1080p_5": VideoEncoderConfiguration; "1440p": VideoEncoderConfiguration; "1440p_1": VideoEncoderConfiguration; "1440p_2": VideoEncoderConfiguration; "4k": VideoEncoderConfiguration; "4k_1": VideoEncoderConfiguration; "4k_3": VideoEncoderConfiguration; }; export declare interface VideoPlayerConfig { fit?: "cover" | "contain" | "fill"; mirror?: boolean; } declare interface VolumeIndicator { level: number; uid: UID; } export { }