interface VloudTransport {
    ip: string;
    type: string;
    localIp: string;
    localCandidateType: string;
    remoteCandidateType: string;
    networkType: string;
    rtt: number;
}
/**
 * @internal
 */
export interface VloudStats {
    bandwidth: {
        upload: number;
        download: number;
    };
    bitrate: {
        upload: number;
        download: number;
        audio: {
            upload: number;
            download: number;
        };
        video: {
            upload: number;
            download: number;
        };
    };
    packetLoss: {
        video: {
            total: number;
            upload: number;
            download: number;
        };
        audio: {
            total: number;
            upload: number;
            download: number;
        };
    };
    resolution: {
        width: number;
        height: number;
    };
    framerate: number;
    transport: VloudTransport[];
    quality: {
        audio: {
            jitter: number;
            interruptionCount: number;
            interruptionDuration: number;
            frameDelay: number;
        };
        video: {
            jitter: number;
            interruptionCount: number;
            interruptionDuration: number;
            frameDelay: number;
        };
    };
    statistics: {
        audio: {
            bytesReceived: number;
            bytesSent: number;
            packetsReceived: number;
            packetsSent: number;
            packetsLost: number;
            recvPacketRate: number;
            sentPacketRate: number;
            googRtt: number;
            googJitterReceived: number;
        };
        video: {
            bytesReceived: number;
            bytesSent: number;
            packetsReceived: number;
            packetsSent: number;
            packetsLost: number;
            framesEncoded: number;
            framesDecoded: number;
            framesSent: number;
            recvPacketRate?: number;
            sentPacketRate?: number;
            googRtt: number;
            googPlisSent?: number;
            googPlisReceived?: number;
            googFrameRateDecoded?: number;
            googFrameRateOutput?: number;
            googNacksSent?: number;
            googNacksReceived?: number;
            googJitterBufferMs: number;
            googInterframeDelayMax: number;
            googRenderDelayMs: number;
            googTargetDelayMs: number;
            googEncodeUsagePercent: number;
            googFrameRateInput: number;
        };
        bweforvideo: {
            availableReceiveBandwidth: number;
            availableSendBandwidth: number;
            retransmitBitrate: number;
            transmitBitrate: number;
            targetEncBitrate: number;
        };
    };
}
export interface ReportStats {
    bandwidth: {
        upload: number;
        download: number;
    };
    bitrate: {
        audio: {
            upload: number;
            download: number;
        };
        video: {
            upload: number;
            download: number;
        };
    };
    packetLoss: {
        video: {
            upload: number;
            download: number;
        };
        audio: {
            upload: number;
            download: number;
        };
    };
    resolution: {
        width: number;
        height: number;
    };
    framerate: number;
    audioLevel?: number;
    transport: VloudTransport[];
    quality: {
        audio: {
            jitter: number;
            interruptionCount: number;
            interruptionDuration: number;
        };
        video: {
            jitter: number;
            interruptionCount: number;
            interruptionDuration: number;
        };
    };
    statistics: {
        audio: {
            bytesReceived: number;
            bytesSent: number;
            packetsReceived: number;
            packetsSent: number;
            packetsLost: number;
        };
        video: {
            bytesReceived: number;
            bytesSent: number;
            packetsReceived: number;
            packetsSent: number;
            packetsLost: number;
            framesEncoded: number;
            framesDecoded: number;
            framesSent: number;
        };
        bweforvideo: {
            availableReceiveBandwidth: number;
            availableSendBandwidth: number;
            retransmitBitrate: number;
            transmitBitrate: number;
            targetEncBitrate: number;
        };
    };
    cpu: {
        appCpu: number;
        systemCpu: number;
    };
}
/**
 * @internal
 */
export interface TencentLocalAudioStats {
    bytesSent: number;
    packetsSent: number;
}
/**
 * @internal
 */
export interface TencentLocalVideoStats {
    bytesSent: number;
    packetsSent: number;
    framesEncoded: number;
    framesSent: number;
    frameWidth: number;
    frameHeight: number;
}
/**
 * @internal
 */
export interface TencentRemoteAudioStats {
    bytesReceived: number;
    packetsReceived: number;
    packetsLost: number;
}
/**
 * @internal
 */
export interface TencentRemoteVideoStats {
    bytesReceived: number;
    packetsReceived: number;
    packetsLost: number;
    framesDecoded: number;
    frameWidth: number;
    frameHeight: number;
}
/**
 * @internal
 */
export interface TencentTransportStats {
    rtt: number;
}
export interface LocalStreamStats {
    /**
     * 视频丢包数
     */
    videoPacketsLost?: number;
    /**
     * 音频丢包数
     */
    audioPacketsLost?: number;
    /**
     * 视频发送字节数
     */
    videoBytesSent?: number;
    /**
     * 视频包发送数
     */
    videoPacketsSent?: number;
    /**
     * 音频发送字节数
     */
    audioBytesSent?: number;
    /**
     * 音频包发送数
     */
    audioPacketsSent?: number;
    /**
     * 视频宽度
     */
    width?: number;
    /**
     * 视频高度
     */
    height?: number;
    /**
     * rtt 网络延时
     */
    rtt?: number;
    /**
     * 编码帧数
     */
    framesEncoded?: number;
    /**
     * 发送帧数
     */
    framesSent?: number;
}
export interface RemoteStreamStats {
    /**
     * 视频丢包数
     */
    videoPacketsLost?: number;
    /**
     * 音频丢包数
     */
    audioPacketsLost?: number;
    /**
     * 视频接收字节数
     */
    videoBytesReceived?: number;
    /**
     * 音频包接收数
     */
    videoPacketsReceived?: number;
    /**
     * 音频接收字节数
     */
    audioBytesReceived?: number;
    /**
     * 音频包接收数
     */
    audioPacketsReceived?: number;
    /**
     * 视频宽度
     */
    width?: number;
    /**
     * 视频高度
     */
    height?: number;
    /**
     * rtt 网络延时
     */
    rtt?: number;
    /**
     * 解码帧数
     */
    framesDecoded?: number;
}
export {};
