// Copyright © 2022 BytePlusRTC All rights reserved. // SPDX-License-Identifier: MIT import { int, NSString, NSInteger, int64_t, NSData, NSArray, BOOL, id, double, NSDictionary } from './types'; import { ByteRTCAudioFrame, ByteRTCFaceDetectionResult, ByteRTCStreamIndex, ByteRTCRemoteStreamKey, ByteRTCSingScoringRealtimeInfo, ByteRTCStreamMixingEvent, ByteRTCMixedStreamType, ByteRTCVideoFrame, ByteRTCFrameExtendedData, ByteRTCMusicInfo, ByteRTCHotMusicInfo, ByteRTCDownloadResult, ByteRTCPlayerState, ByteRTCPlayerError, ByteRTCRoomStats, ByteRTCAVSyncState, ByteRTCLocalStreamStats, ByteRTCRemoteStreamStats, ByteRTCUserInfo, ByteRTCUserOfflineReason, ByteRTCStreamRemoveReason, ByteRTCSubscribeState, ByteRTCSubscribeConfig, ByteRTCSetRoomExtraInfoResult, ByteRTCUserVisibilityChangeError, ByteRTCForwardStreamStateInfo, ByteRTCForwardStreamEventInfo, ByteRTCNetworkQualityStats, ByteRTCSubtitleState, ByteRTCSubtitleMessage, ByteRTCStream, ByteRTCConnectionState, ByteRTCNetworkType, ByteRTCLocalAudioPropertiesInfo, ByteRTCRemoteAudioPropertiesInfo, ByteRTCVideoFrameInfo, ByteRTCAudioDeviceType, ByteRTCMediaDeviceState, ByteRTCMediaDeviceError, ByteRTCVideoDeviceType, ByteRTCMediaDeviceWarning, ByteRTCUser, ByteRTCFirstFrameSendState, ByteRTCFirstFramePlayState, ByteRTCAudioRoute, ByteRTCSEIStreamEventType, ByteRTCSyncInfoStreamType, ByteRTCSysStats, ByteRTCLocalAudioStreamState, ByteRTCLocalAudioStreamError, ByteRTCRemoteAudioState, ByteRTCRemoteAudioStateChangeReason, ByteRTCLocalVideoStreamState, ByteRTCLocalVideoStreamError, ByteRTCRemoteVideoState, ByteRTCRemoteVideoStateChangeReason, ByteRTCLogoutReason, ByteRTCUserOnlineStatus, ByteRTCNetworkDetectionLinkType, ByteRTCNetworkQuality, ByteRTCNetworkDetectionStopReason, ByteRTCPerformanceAlarmMode, ByteRTCPerformanceAlarmReason, ByteRTCSourceWantedData, ByteRTCRemoteStreamSwitchEvent, ByteRTCRecordingState, ByteRTCRecordingErrorCode, ByteRTCRecordingInfo, ByteRTCRecordingProgress, ByteRTCAudioRecordingState, ByteRTCDataMessageSourceType, ByteRTCEchoTestResult, ByteRTCHardwareEchoDetectionResult, ByteRTCLocalProxyType, ByteRTCLocalProxyState, ByteRTCLocalProxyError, ByteRTCMuteState, ByteRTCMediaDeviceType, ByteRTCAudioPlaybackDevice, ByteRTCAudioMixingState, ByteRTCAudioMixingError, ByteRTCStreamMixingType, ByteRTCEncodedVideoFrame, ByteRTCPlayState, ByteRTCKTVPlayerErrorCode, ByteRTCSubscribeStateChangeReason, ByteRTCPublishStateChangeReason, ByteRTCPublishState } from './keytype'; import { ByteRTCSingleStreamPushEvent, ByteRTCStreamMixingErrorCode, ByteRTCKTVErrorCode, ByteRTCUserMessageSendResult, ByteRTCRoomMessageSendResult, ByteRTCSubtitleErrorCode, ByteRTCWarningCode, ByteRTCErrorCode, ByteRTCLoginErrorCode, ByteRTCAudioRecordingErrorCode, ByteRTCPublicStreamErrorCode, ByteRtcTranscoderErrorCode } from './errorcode'; import { ByteRTCImage } from './external'; import { ByteRTCKTVManager, ByteRTCRoom, ByteRTCVideo, ByteRTCKTVPlayer } from './api'; export declare class ByteRTCMediaPlayerAudioFrameObserver { onFrame$audioFrame?(playerId: int, audioFrame: ByteRTCAudioFrame): void; } export declare class ByteRTCFaceDetectionObserver { onFaceDetectResult?(result: ByteRTCFaceDetectionResult): void; } export declare class ByteRTCEncryptHandler { } export declare class ByteRTCPushSingleStreamToCDNObserver { onStreamPushEvent$taskId$error?(event: ByteRTCSingleStreamPushEvent, taskID: NSString, errorCode: NSInteger): void; } export declare class ByteRTCVideoSnapshotCallbackDelegate { onTakeLocalSnapshotResult$streamIndex$image$errorCode?(taskId: NSInteger, streamIndex: ByteRTCStreamIndex, image: ByteRTCImage, errorCode: NSInteger): void; onTakeRemoteSnapshotResult$streamKey$image$errorCode?(taskId: NSInteger, streamKey: ByteRTCRemoteStreamKey, image: ByteRTCImage, errorCode: NSInteger): void; } export declare class ByteRTCSingScoringDelegate { onCurrentScoringInfo?(info: ByteRTCSingScoringRealtimeInfo): void; } export declare class ByteRTCMixedStreamObserver { onMixingEvent$taskId$error$mixType?(event: ByteRTCStreamMixingEvent, taskId: NSString, errorCode: ByteRTCStreamMixingErrorCode, mixType: ByteRTCMixedStreamType): void; onMixingAudioFrame$timestamp$taskId?(audioFrame: ByteRTCAudioFrame, timeStamp: int64_t, taskId: NSString): void; onMixingVideoFrame$taskId?(videoFrame: ByteRTCVideoFrame, taskId: NSString): void; onMixingDataFrame$taskId?(dataFrame: ByteRTCFrameExtendedData, taskId: NSString): void; } export declare class ByteRTCAudioFrameObserver { onRecordAudioFrame?(audioFrame: ByteRTCAudioFrame): void; onPlaybackAudioFrame?(audioFrame: ByteRTCAudioFrame): void; onRemoteUserAudioFrame$audioFrame?(streamKey: ByteRTCRemoteStreamKey, audioFrame: ByteRTCAudioFrame): void; onMixedAudioFrame?(audioFrame: ByteRTCAudioFrame): void; } export declare class ByteRtcScreenCapturerExtDelegate { onQuitFromAp?(): void; onReceiveMessageFromApp?(message: NSData): void; onSocketDisconnec?(): void; onSocketConnec?(): void; onNotifyAppRunnin?(): void; } export declare class ByteRTCKTVManagerDelegate { ktvManager$onMusicListResult$totalSize$errorCode?(ktvManager: ByteRTCKTVManager, musics: NSArray, totalSize: int, errorCode: ByteRTCKTVErrorCode): void; ktvManager$onSearchMusicResult$totalSize$errorCode?(ktvManager: ByteRTCKTVManager, musics: NSArray, totalSize: int, errorCode: ByteRTCKTVErrorCode): void; ktvManager$onHotMusicResult$errorCode?(ktvManager: ByteRTCKTVManager, hotMusicInfos: NSArray, errorCode: ByteRTCKTVErrorCode): void; ktvManager$onMusicDetailResult$errorCode?(ktvManager: ByteRTCKTVManager, music: ByteRTCMusicInfo, errorCode: ByteRTCKTVErrorCode): void; ktvManager$onDownloadSuccess$downloadResult?(ktvManager: ByteRTCKTVManager, downloadId: int, result: ByteRTCDownloadResult): void; ktvManager$onDownloadFailed$errorCode?(ktvManager: ByteRTCKTVManager, downloadId: int, errorCode: ByteRTCKTVErrorCode): void; ktvManager$onDownloadMusicProgress$progress?(ktvManager: ByteRTCKTVManager, downloadId: int, downloadPercentage: int): void; ktvManager$onClearCacheResult?(ktvManager: ByteRTCKTVManager, errorCode: ByteRTCKTVErrorCode): void; } export declare class ByteRTCASREngineEventHandler { onSucces?(): void; onMessage?(message: NSString): void; onError$withErrorMessage?(errorCode: NSInteger, errorMessage: NSString): void; } export declare class ByteRTCAudioEffectPlayerEventHandler { onAudioEffectPlayerStateChanged$state$error?(effectId: int, state: ByteRTCPlayerState, error: ByteRTCPlayerError): void; } export declare class ByteRTCAudioFrameProcessor { } export declare class ByteRTCRoomDelegate { rtcRoom$onRoomStateChanged$withUid$state$extraInfo?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: NSInteger, extraInfo: NSString): void; rtcRoom$onStreamStateChanged$withUid$state$extraInfo?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: NSInteger, extraInfo: NSString): void; rtcRoom$onLeaveRoom?(rtcRoom: ByteRTCRoom, stats: ByteRTCRoomStats): void; rtcRoom$onAVSyncStateChange?(rtcRoom: ByteRTCRoom, state: ByteRTCAVSyncState): void; rtcRoom$onVideoPublishStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCPublishState, reason: ByteRTCPublishStateChangeReason): void; rtcRoom$onAudioPublishStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCPublishState, reason: ByteRTCPublishStateChangeReason): void; rtcRoom$onScreenVideoPublishStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCPublishState, reason: ByteRTCPublishStateChangeReason): void; rtcRoom$onScreenAudioPublishStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCPublishState, reason: ByteRTCPublishStateChangeReason): void; rtcRoom$onVideoSubscribeStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCSubscribeState, reason: ByteRTCSubscribeStateChangeReason): void; rtcRoom$onAudioSubscribeStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCSubscribeState, reason: ByteRTCSubscribeStateChangeReason): void; rtcRoom$onScreenVideoSubscribeStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCSubscribeState, reason: ByteRTCSubscribeStateChangeReason): void; rtcRoom$onScreenAudioSubscribeStateChanged$Uid$state$reason?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, state: ByteRTCSubscribeState, reason: ByteRTCSubscribeStateChangeReason): void; rtcRoom$onRoomStats?(rtcRoom: ByteRTCRoom, stats: ByteRTCRoomStats): void; rtcRoom$onLocalStreamStats?(rtcRoom: ByteRTCRoom, stats: ByteRTCLocalStreamStats): void; rtcRoom$onRemoteStreamStats?(rtcRoom: ByteRTCRoom, stats: ByteRTCRemoteStreamStats): void; rtcRoom$onUserJoined$elapsed?(rtcRoom: ByteRTCRoom, userInfo: ByteRTCUserInfo, elapsed: NSInteger): void; rtcRoom$onUserLeave$reason?(rtcRoom: ByteRTCRoom, uid: NSString, reason: ByteRTCUserOfflineReason): void; onTokenWillExpire?(rtcRoom: ByteRTCRoom): void; onPublishPrivilegeTokenWillExpire?(rtcRoom: ByteRTCRoom): void; onSubscribePrivilegeTokenWillExpire?(rtcRoom: ByteRTCRoom): void; /** {en} * @detail callback * @valid since 3.60 * @brief Callback on remote camera-video streams in the room. * @param roomId Room ID. * @param uid The ID of the remote user who published the stream. * @param isPublish Whether the stream is published. * + `true`: Published * + `false`: Removed * @note You will receive this callback after a remote user successfully published media streams captured by camera/microphone in the room with publishStreamVideo{@link #IRTCRoom#publishStreamVideo}. Then you can choose whether to call subscribeStreamVideo{@link #IRTCRoom#subscribeStreamVideo} to subscribe to the streams or not. * */ rtcRoom$onUserPublishStreamVideo$uid$isPublish?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void; /** {en} * @detail callback * @valid since 3.60 * @region Room management * @brief Callback on remote microphone-audio streams in the room. * @param roomId Room ID. * @param uid The ID of the remote user who published the stream. * @param isPublish Whether the stream is published. * + `true`: Published * + `false`: Removed * @note You will receive this callback after a remote user successfully published media streams captured by camera/microphone in the room with publishStreamAudio:{@link #ByteRTCRoom#publishStreamAudio}. Then you can choose whether to call subscribeStreamAudio{@link #IRTCRoom#subscribeStreamAudio} to subscribe to the streams or not. * */ rtcRoom$onUserPublishStreamAudio$uid$isPublish?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void; /** {en} * @detail callback * @valid since 3.60 * @region Room management * @brief Callback on remote screen streams in the room. * @param roomId Room ID. * @param uid The ID of the remote user who published the stream. * @param isPublish Whether the stream is published. * + `true`: Published * + `false`: Removed * @note You will receive this callback after a remote user successfully published screen streams in the room with publishScreenVideo{@link #IRTCRoom#publishScreenVideo}. Then you can choose whether to call subscribeScreenVideo{@link #IRTCRoom#subscribeScreenVideo} to subscribe to the streams or not. * */ rtcRoom$onUserPublishScreenVideo$uid$isPublish?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void; /** {en} * @detail callback * @valid since 3.60 * @region Room management * @author shenpengliang * @brief Callback on remote computer-audio streams in the room. * @param roomId Room ID. * @param uid The ID of the remote user who published the stream. * @param isPublish Whether the stream is published. * + `true`: Published * + `false`: Removed * @note You will receive this callback after a remote user successfully published media streams captured by camera/microphone in the room with publishScreenAudio{@link #IRTCRoom#publishScreenAudio}. Then you can choose whether to call subscribeScreenAudio{@link #IRTCRoom#subscribeScreenAudio} to subscribe to the streams or not. * */ rtcRoom$onUserPublishScreenAudio$uid$isPublish?(rtcRoom: ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void; rtcRoom$onStreamSubscribed$userId$subscribeConfig?(rtcRoom: ByteRTCRoom, state: ByteRTCSubscribeState, userId: NSString, info: ByteRTCSubscribeConfig): void; rtcRoom$onRoomMessageReceived$message?(rtcRoom: ByteRTCRoom, uid: NSString, message: NSString): void; rtcRoom$onRoomBinaryMessageReceived$message?(rtcRoom: ByteRTCRoom, uid: NSString, message: NSData): void; rtcRoom$onUserMessageReceived$message?(rtcRoom: ByteRTCRoom, uid: NSString, message: NSString): void; rtcRoom$onUserBinaryMessageReceived$message?(rtcRoom: ByteRTCRoom, uid: NSString, message: NSData): void; rtcRoom$onUserMessageSendResult$error?(rtcRoom: ByteRTCRoom, msgid: NSInteger, error: ByteRTCUserMessageSendResult): void; rtcRoom$onRoomMessageSendResult$error?(rtcRoom: ByteRTCRoom, msgid: NSInteger, error: ByteRTCRoomMessageSendResult): void; rtcRoom$onSetRoomExtraInfoResult$error?(rtcRoom: ByteRTCRoom, taskId: NSInteger, error: ByteRTCSetRoomExtraInfoResult): void; rtcRoom$onRoomExtraInfoUpdate$value$lastUpdateUserId$lastUpdateTimeMs?(rtcRoom: ByteRTCRoom, key: NSString, value: NSString, lastUpdateUserId: NSString, lastUpdateTimeMs: NSInteger): void; rtcRoom$onUserVisibilityChanged$errorCode?(rtcRoom: ByteRTCRoom, currentUserVisibility: BOOL, errorCode: ByteRTCUserVisibilityChangeError): void; rtcRoom$onVideoStreamBanned$isBanned?(rtcRoom: ByteRTCRoom, uid: NSString, banned: BOOL): void; rtcRoom$onAudioStreamBanned$isBanned?(rtcRoom: ByteRTCRoom, uid: NSString, banned: BOOL): void; rtcRoom$onForwardStreamStateChanged?(rtcRoom: ByteRTCRoom, infos: NSArray): void; rtcRoom$onForwardStreamEvent?(rtcRoom: ByteRTCRoom, infos: NSArray): void; rtcRoom$onNetworkQuality$remoteQualities?(rtcRoom: ByteRTCRoom, localQuality: ByteRTCNetworkQualityStats, remoteQualities: NSArray): void; rtcRoom$onSubtitleStateChanged$errorCode$errorMessage?(rtcRoom: ByteRTCRoom, state: ByteRTCSubtitleState, errorCode: ByteRTCSubtitleErrorCode, errorMessage: NSString): void; rtcRoom$onSubtitleMessageReceived?(rtcRoom: ByteRTCRoom, subtitles: NSArray): void; rtcRoom$onRoomWarning?(rtcRoom: ByteRTCRoom, warningCode: ByteRTCWarningCode): void; rtcRoom$onRoomError?(rtcRoom: ByteRTCRoom, errorCode: ByteRTCErrorCode): void; rtcRoom$onStreamAdd?(rtcRoom: ByteRTCRoom, stream: id): void; rtcRoom$onStreamRemove$stream$reason?(rtcRoom: ByteRTCRoom, uid: NSString, stream: id, reason: ByteRTCStreamRemoveReason): void; } export declare class ByteRTCExternalVideoEncoderEventHandler { onStart?(streamIndex: ByteRTCStreamIndex): void; onStop?(streamIndex: ByteRTCStreamIndex): void; onRateUpdate$withVideoIndex$withFps$withBitRate?(streamIndex: ByteRTCStreamIndex, videoIndex: NSInteger, fps: NSInteger, bitRateKps: NSInteger): void; onRequestKeyFrame$withVideoIndex?(streamIndex: ByteRTCStreamIndex, videoIndex: NSInteger): void; onActiveVideoLayer$withVideoIndex$withActive?(streamIndex: ByteRTCStreamIndex, videoIndex: NSInteger, active: BOOL): void; } export declare class ByteRTCAudioFileFrameObserver { onAudioFileFrame$audioFrame?(mixID: int, audioFrame: ByteRTCAudioFrame): void; } export declare class ByteRTCVideoProcessorDelegate { } export declare class ByteRTCMediaPlayerEventHandler { onMediaPlayerStateChanged$state$error?(playerId: int, state: ByteRTCPlayerState, error: ByteRTCPlayerError): void; onMediaPlayerPlayingProgress$progress?(playerId: int, progress: int64_t): void; } export declare class ByteRTCVideoDelegate { rtcEngine$onWarning?(engine: ByteRTCVideo, code: ByteRTCWarningCode): void; rtcEngine$onError?(engine: ByteRTCVideo, errorCode: ByteRTCErrorCode): void; rtcEngine$onExtensionAccessError$msg?(engine: ByteRTCVideo, extensionName: NSString, msg: NSString): void; rtcEngine$onCreateRoomStateChanged$errorCode?(engine: ByteRTCVideo, roomId: NSString, errorCode: NSInteger): void; rtcEngine$onConnectionStateChanged?(engine: ByteRTCVideo, state: ByteRTCConnectionState): void; rtcEngine$onNetworkTypeChanged?(engine: ByteRTCVideo, type: ByteRTCNetworkType): void; rtcEngine$onUserStartAudioCapture$uid?(engine: ByteRTCVideo, roomId: NSString, userId: NSString): void; rtcEngine$onUserStopAudioCapture$uid?(engine: ByteRTCVideo, roomId: NSString, userId: NSString): void; rtcEngine$onFirstRemoteAudioFrame?(engine: ByteRTCVideo, key: ByteRTCRemoteStreamKey): void; rtcEngine$onLocalAudioPropertiesReport?(engine: ByteRTCVideo, audioPropertiesInfos: NSArray): void; rtcEngine$onRemoteAudioPropertiesReport$totalRemoteVolume?(engine: ByteRTCVideo, audioPropertiesInfos: NSArray, totalRemoteVolume: NSInteger): void; rtcEngine$onActiveSpeaker$uid?(engine: ByteRTCVideo, roomId: NSString, uid: NSString): void; rtcEngine$onUserStartVideoCapture$uid?(engine: ByteRTCVideo, roomId: NSString, uid: NSString): void; rtcEngine$onUserStopVideoCapture$uid?(engine: ByteRTCVideo, roomId: NSString, uid: NSString): void; rtcEngine$onFirstLocalVideoFrameCaptured$withFrameInfo?(engine: ByteRTCVideo, streamIndex: ByteRTCStreamIndex, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onFirstRemoteVideoFrameRendered$withFrameInfo?(engine: ByteRTCVideo, streamKey: ByteRTCRemoteStreamKey, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onFirstRemoteVideoFrameDecoded$withFrameInfo?(engine: ByteRTCVideo, streamKey: ByteRTCRemoteStreamKey, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onRemoteVideoSizeChanged$withFrameInfo?(engine: ByteRTCVideo, streamKey: ByteRTCRemoteStreamKey, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onLocalVideoSizeChanged$withFrameInfo?(engine: ByteRTCVideo, streamIndex: ByteRTCStreamIndex, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onAudioDeviceStateChanged$device_type$device_state$device_error?(engine: ByteRTCVideo, deviceID: NSString, deviceType: ByteRTCAudioDeviceType, deviceState: ByteRTCMediaDeviceState, deviceError: ByteRTCMediaDeviceError): void; rtcEngine$onVideoDeviceStateChanged$device_type$device_state$device_error?(engine: ByteRTCVideo, deviceID: NSString, deviceType: ByteRTCVideoDeviceType, deviceState: ByteRTCMediaDeviceState, deviceError: ByteRTCMediaDeviceError): void; rtcEngine$onAudioDeviceWarning$deviceType$deviceWarning?(engine: ByteRTCVideo, deviceId: NSString, deviceType: ByteRTCAudioDeviceType, deviceWarning: ByteRTCMediaDeviceWarning): void; rtcEngine$onVideoDeviceWarning$deviceType$deviceWarning?(engine: ByteRTCVideo, deviceId: NSString, deviceType: ByteRTCVideoDeviceType, deviceWarning: ByteRTCMediaDeviceWarning): void; rtcEngine$onAudioFrameSendStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFrameSendState): void; rtcEngine$onVideoFrameSendStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFrameSendState): void; rtcEngine$onScreenVideoFrameSendStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFrameSendState): void; rtcEngine$onAudioFramePlayStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFramePlayState): void; rtcEngine$onVideoFramePlayStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFramePlayState): void; rtcEngine$onScreenVideoFramePlayStateChanged$rtcUser$state?(engine: ByteRTCVideo, roomId: NSString, user: ByteRTCUser, state: ByteRTCFirstFramePlayState): void; rtcEngine$onFirstLocalAudioFrame?(engine: ByteRTCVideo, streamIndex: ByteRTCStreamIndex): void; rtcEngine$onAudioRouteChanged?(engine: ByteRTCVideo, device: ByteRTCAudioRoute): void; rtcEngine$onSEIMessageReceived$andMessage?(engine: ByteRTCVideo, remoteStreamKey: ByteRTCRemoteStreamKey, message: NSData): void; rtcEngine$onSEIStreamUpdate$eventType?(engine: ByteRTCVideo, remoteStreamKey: ByteRTCRemoteStreamKey, eventType: ByteRTCSEIStreamEventType): void; rtcEngine$onStreamSyncInfoReceived$streamType$data?(engine: ByteRTCVideo, remoteStreamKey: ByteRTCRemoteStreamKey, streamType: ByteRTCSyncInfoStreamType, data: NSData): void; rtcEngine$onSysStats?(engine: ByteRTCVideo, stats: ByteRTCSysStats): void; rtcEngine$onLocalAudioStateChanged$error?(engine: ByteRTCVideo, state: ByteRTCLocalAudioStreamState, error: ByteRTCLocalAudioStreamError): void; rtcEngine$onRemoteAudioStateChanged$state$reason?(engine: ByteRTCVideo, key: ByteRTCRemoteStreamKey, state: ByteRTCRemoteAudioState, reason: ByteRTCRemoteAudioStateChangeReason): void; rtcEngine$onLocalVideoStateChanged$withStreamState$withStreamError?(engine: ByteRTCVideo, streamIndex: ByteRTCStreamIndex, state: ByteRTCLocalVideoStreamState, error: ByteRTCLocalVideoStreamError): void; rtcEngine$onRemoteVideoStateChanged$withVideoState$withVideoStateReason?(engine: ByteRTCVideo, streamKey: ByteRTCRemoteStreamKey, state: ByteRTCRemoteVideoState, reason: ByteRTCRemoteVideoStateChangeReason): void; rtcEngine$onLoginResult$errorCode$elapsed?(engine: ByteRTCVideo, uid: NSString, errorCode: ByteRTCLoginErrorCode, elapsed: NSInteger): void; rtcEngine$onLogout?(engine: ByteRTCVideo, reason: ByteRTCLogoutReason): void; rtcEngine$onServerParamsSetResult?(engine: ByteRTCVideo, errorCode: NSInteger): void; rtcEngine$onGetPeerOnlineStatus$status?(engine: ByteRTCVideo, peerUserId: NSString, status: ByteRTCUserOnlineStatus): void; rtcEngine$onUserMessageReceivedOutsideRoom$message?(engine: ByteRTCVideo, uid: NSString, message: NSString): void; rtcEngine$onUserBinaryMessageReceivedOutsideRoom$message?(engine: ByteRTCVideo, uid: NSString, message: NSData): void; rtcEngine$onUserMessageSendResultOutsideRoom$error?(engine: ByteRTCVideo, msgid: NSInteger, error: ByteRTCUserMessageSendResult): void; rtcEngine$onServerMessageSendResult$error$message?(engine: ByteRTCVideo, msgid: int64_t, error: ByteRTCUserMessageSendResult, message: NSData): void; rtcEngine$onNetworkDetectionResult$quality$rtt$lostRate$bitrate$jitter?(engine: ByteRTCVideo, type: ByteRTCNetworkDetectionLinkType, quality: ByteRTCNetworkQuality, rtt: int, lostRate: double, bitrate: int, jitter: int): void; rtcEngine$onNetworkDetectionStopped?(engine: ByteRTCVideo, errorCode: ByteRTCNetworkDetectionStopReason): void; rtcEngine$onAudioMixingPlayingProgress$progress?(engine: ByteRTCVideo, mixId: NSInteger, progress: int64_t): void; rtcEngine$onPerformanceAlarms$roomId$reason$sourceWantedData?(engine: ByteRTCVideo, mode: ByteRTCPerformanceAlarmMode, roomId: NSString, reason: ByteRTCPerformanceAlarmReason, data: ByteRTCSourceWantedData): void; rtcEngine$onSimulcastSubscribeFallback?(engine: ByteRTCVideo, event: ByteRTCRemoteStreamSwitchEvent): void; rtcEngine$onRecordingStateUpdate$state$error_code$recording_info?(engine: ByteRTCVideo, type: ByteRTCStreamIndex, state: ByteRTCRecordingState, errorCode: ByteRTCRecordingErrorCode, recordingInfo: ByteRTCRecordingInfo): void; rtcEngine$onRecordingProgressUpdate$process$recording_info?(engine: ByteRTCVideo, type: ByteRTCStreamIndex, process: ByteRTCRecordingProgress, recordingInfo: ByteRTCRecordingInfo): void; rtcEngine$onAudioRecordingStateUpdate$error_code?(engine: ByteRTCVideo, state: ByteRTCAudioRecordingState, errorCode: ByteRTCAudioRecordingErrorCode): void; rtcEngine$onPushPublicStreamResult$publicStreamId$errorCode?(engine: ByteRTCVideo, roomId: NSString, streamId: NSString, errorCode: ByteRTCPublicStreamErrorCode): void; rtcEngine$onPlayPublicStreamResult$errorCode?(engine: ByteRTCVideo, publicStreamId: NSString, errorCode: ByteRTCPublicStreamErrorCode): void; rtcEngine$onPublicStreamSEIMessageReceived$andMessage$andSourceType?(engine: ByteRTCVideo, publicStreamId: NSString, message: NSData, sourceType: ByteRTCDataMessageSourceType): void; rtcEngine$onPublicStreamDataMessageReceived$andMessage$andSourceType?(engine: ByteRTCVideo, publicStreamId: NSString, message: NSData, sourceType: ByteRTCDataMessageSourceType): void; rtcEngine$onFirstPublicStreamVideoFrameDecoded$withFrameInfo?(engine: ByteRTCVideo, publicStreamId: NSString, frameInfo: ByteRTCVideoFrameInfo): void; rtcEngine$onFirstPublicStreamAudioFrame?(engine: ByteRTCVideo, publicStreamId: NSString): void; rtcEngine$onCloudProxyConnected?(engine: ByteRTCVideo, interval: NSInteger): void; rtcEngine$onEchoTestResult?(engine: ByteRTCVideo, result: ByteRTCEchoTestResult): void; rtcEngineOnNetworkTimeSynchronized?(engine: ByteRTCVideo): void; rtcEngine$onHardwareEchoDetectionResult?(engine: ByteRTCVideo, result: ByteRTCHardwareEchoDetectionResult): void; rtcEngine$onLocalProxyStateChanged$withProxyState$withProxyError?(engine: ByteRTCVideo, type: ByteRTCLocalProxyType, state: ByteRTCLocalProxyState, error: ByteRTCLocalProxyError): void; rtcEngine$onUserMuteAudio$uid$muteState?(engine: ByteRTCVideo, roomId: NSString, uid: NSString, muteState: ByteRTCMuteState): void; rtcEngine$onUserMuteVideo$uid$withMuteState?(engine: ByteRTCVideo, roomId: NSString, uid: NSString, muteState: ByteRTCMuteState): void; rtcEngine$onMediaDeviceStateChanged$device_type$device_state$device_error?(engine: ByteRTCVideo, deviceID: NSString, deviceType: ByteRTCMediaDeviceType, deviceState: ByteRTCMediaDeviceState, deviceError: ByteRTCMediaDeviceError): void; rtcEngine$onMediaDeviceWarning$deviceType$deviceWarning?(engine: ByteRTCVideo, deviceId: NSString, deviceType: ByteRTCMediaDeviceType, deviceWarning: ByteRTCMediaDeviceWarning): void; rtcEngine$onAudioPlaybackDeviceChanged?(engine: ByteRTCVideo, device: ByteRTCAudioPlaybackDevice): void; rtcEngine$log?(engine: ByteRTCVideo, dict: NSDictionary): void; rtcEngine$onAudioMixingStateChanged$state$error?(engine: ByteRTCVideo, mixId: NSInteger, state: ByteRTCAudioMixingState, error: ByteRTCAudioMixingError): void; rtcEngine$onHttpProxyState?(engine: ByteRTCVideo, state: NSInteger): void; rtcEngine$onHttpsProxyState?(engine: ByteRTCVideo, state: NSInteger): void; rtcEngine$onSocks5ProxyState$cmd$proxy_address$local_address$remote_address?(engine: ByteRTCVideo, state: NSInteger, cmd: NSString, proxyAddress: NSString, localAddress: NSString, remoteAddress: NSString): void; } export declare class LiveTranscodingDelegate { onStreamMixingEvent$taskId$error$mixType?(event: ByteRTCStreamMixingEvent, taskId: NSString, Code: ByteRtcTranscoderErrorCode, mixType: ByteRTCStreamMixingType): void; onMixingAudioFrame$timestamp$taskId?(audioFrame: ByteRTCAudioFrame, timeStamp: int64_t, taskId: NSString): void; onMixingVideoFrame$taskId?(videoFrame: ByteRTCVideoFrame, taskId: NSString): void; onMixingDataFrame$taskId?(dataFrame: ByteRTCFrameExtendedData, taskId: NSString): void; } export declare class ByteRTCLocalEncodedVideoFrameObserver { onLocalEncodedVideoFrame$Frame?(streamIndex: ByteRTCStreamIndex, frame: ByteRTCEncodedVideoFrame): void; } export declare class ByteRTCRemoteEncodedVideoFrameObserver { onRemoteEncodedVideoFrame$withEncodedVideoFrame?(streamKey: ByteRTCRemoteStreamKey, videoFrame: ByteRTCEncodedVideoFrame): void; } export declare class ByteRTCKTVPlayerDelegate { ktvPlayer$onPlayProgress$progress?(ktvPlayer: ByteRTCKTVPlayer, musicId: NSString, progress: int64_t): void; ktvPlayer$onPlayStateChanged$state$error?(ktvPlayer: ByteRTCKTVPlayer, musicId: NSString, state: ByteRTCPlayState, error: ByteRTCKTVPlayerErrorCode): void; } export declare class ByteRTCMediaPlayerCustomSourceProvider { }