///
import type { StreamHandler } from './streamHandler';
export declare const PROTO_VERSION: any;
export declare const ROOMVERSION: any;
export declare const BUILD_TIME: any;
export declare const SPECIAL_VERSION: any;
export declare enum ENUM_LOG_LEVEL {
debug = 0,
info = 1,
warn = 2,
error = 3,
report = 99,
disable = 100
}
export declare const LOG_LEVEL: {
debug: number;
info: number;
warn: number;
error: number;
report: number;
disable: number;
};
export declare enum ENUM_REMOTE_TYPE {
disable = 0,
websocket = 1,
https = 2
}
export interface LogConfig {
logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'report' | 'disable';
logURL?: string;
remoteLogLevel?: 'debug' | 'info' | 'warn' | 'error' | 'report' | 'disable';
logSize?: number;
logCount?: number;
}
export interface User {
userID: string;
userName: string;
}
export interface RoomConfig {
maxMemberCount?: number;
userUpdate?: boolean;
}
export declare enum SDKProjectType {
SDKProject_ZegoWebRTC = 6,
SDKProject_ZegoMiniProgram = 7
}
export declare const enum ENUM_PUBLISH_STATE {
start = 0,
waitingSessionRsp = 1,
waitingOfferRsp = 2,
waitingServerAnswer = 3,
waitingServerICE = 4,
connecting = 5,
publishing = 6,
stop = 7
}
export declare const enum ENUM_PLAY_STATE {
start = 0,
waitingSessionRsp = 1,
waitingOfferRsp = 2,
waitingServerAnswer = 3,
waitingServerICE = 4,
connecting = 5,
playing = 6,
stop = 7
}
export declare const enum ENUM_PLAYER_STATE {
start = 0,
playing = 1,
stop = 2
}
export declare enum ProtocolType {
UDP = 0,
RTMP = 1,
FLV = 2,
HLS = 3,
WEBRTC = 4
}
export declare const ENUM_CONNECT_STATE: {
disconnected: number;
connecting: number;
connected: number;
};
export declare const REPORT_ACTION: {
eventStart: string;
eventEndWithMsgInfo: string;
addEventMsg: string;
addEvent: string;
eventEnd: string;
addMsgInfo: string;
};
export declare const SEND_MSG_TIMEOUT = 1;
export declare const SEND_MSG_RESET = 2;
export declare const SEND_MSG_FAILED = 3;
export declare const MAX_TRY_CONNECT_COUNT = 3;
export declare const MAX_TRY_HEARTBEAT_COUNT = 5;
export declare const MAX_STREAM_ID_LENGTH = 256;
export declare const MAX_USER_ID_LENGTH = 64;
export declare const MAX_USER_NAME_LENGTH = 256;
export declare const MAX_ROOM_ID_LENGTH = 128;
export declare const MAX_MESSAGE_LENGTH = 1024;
export declare const MAX_MIX_TASK_ID_LENGTH = 256;
export declare const MAX_TRANS_TYPE_LENGTH = 128;
export declare const MAX_TRANS_DATA_LENGTH: number;
export declare const MAX_RETRY_CONNECT_INTERVAL = 12;
export declare const MIN_QUALITY_INTERVAL = 1000;
export declare const MIN_MAX_CHANNELS = 1;
export declare const MAX_MAX_CHANNELS = 50;
export declare const MIN_MAX_RETRY_TIME = 1;
export declare const MAX_MAX_RETRY_TIME: number;
export declare const ROOM_SERVER_ERROR_CODE_PREFIX = 52000000;
export declare const ENUM_PUBLISH_STREAM_STATE: {
waiting_url: number;
tryPublish: number;
update_info: number;
publishing: number;
stop: number;
retryPublish: number;
};
export declare const ENUM_STREAM_SUB_CMD: {
liveNone: number;
liveBegin: number;
liveEnd: number;
liveUpdate: number;
};
export declare const CONNECT_SERVER_TIMEOUT = 101;
export declare const getSeq: Function;
export declare const getReportSeq: Function;
export interface StreamInfo {
streamID: string;
user: User;
extraInfo: string;
urlsFLV: string;
urlsRTMP: string;
urlsHLS: string;
urlsHttpsFLV: string;
urlsHttpsHLS: string;
}
export declare enum E_CLIENT_TYPE {
ClientType_None = 0,
ClientType_H5 = 1,
ClientType_SmallPragram = 2,
ClientType_Webrtc = 3
}
export interface ZegoRoomInfo {
roomID: string;
streamHandler: StreamHandler;
token: string;
sessionID: string;
roomSessionID: string;
isResetRoom: boolean;
streamList: Array;
streamInfoList: any;
dataChannelManager?: any;
}
/**
* 根据当前环境返回定时器的类型
* - Node.js环境返回 NodeJS.Timeout
* - Browser环境返回 number
*/
export type Timer = ReturnType | null;
export interface ZegoResponse {
errorCode: number;
extendedData: string;
}
export interface ZegoError {
code: number;
message: string;
}
export type ERRO = ZegoError;
export interface CdnPushConfig {
type: 'addpush' | 'delpush' | 'clearpush';
streamID: string;
pushUrl: string;
}
export interface TransCodecConfig {
playAddr: string;
transCodecID: number;
transCodecSuffix: string;
retry: number;
}
export interface MiniStreamDispatchRequest {
streamID: string;
actionType: 'push' | 'pull';
}
export declare const enum ENUM_STREAM_UPDATE_TYPE {
deleted = 0,
added = 1
}
export declare const ENUM_STREAM_UPDATE_CMD: {
added: number;
deleted: number;
updated: number;
};
export declare const ENUM_PUBLISH_STATE_UPDATE: {
start: number;
error: number;
retry: number;
};
export declare const ENUM_PLAY_STATE_UPDATE: {
start: number;
error: number;
retry: number;
stop: number;
};
export interface StreamQuality {
videoBitrate: number;
videoFramesDecoded?: number;
videoFramesDropped?: number;
videoPacketsLostRate?: number;
videoQuality?: number;
videoWidth?: number;
videoHeight?: number;
audioBitrate: number;
audioJitter?: number;
audioLevel?: number;
audioPacketsLost?: number;
audioPacketsLostRate?: number;
audioQuality?: number;
audioSamplingRate?: number;
audioSendLevel?: number;
playData?: number;
videoFPS: number;
frameHeight: number;
frameWidth: number;
videoTransferFPS: number;
audioCodec: string;
nackCount: number;
pliCount: number;
totalRoundTripTime: number;
currentRoundTripTime: number;
}
export declare enum ZegoNetmode {
Default = 0,
Extranet = 1,
Intranet = 2
}
export declare enum ENUM_RUN_STATE {
logout = 0,
trylogin = 1,
login = 2
}
export declare enum USER_RUN_STATE {
logout = 0,
trylogin = 1,
login = 2,
reconnect = 3
}
export declare enum ENUM_BROADCASTER_STATUS {
stop = 0,
start = 1
}
export declare enum SignalResourceType {
CDN = 0,
RTC = 1,
L3 = 2,
DG = 3
}
export declare enum SoundLevelApiType {
useAnalyzer = 0,
useWorklet = 1
}
export declare enum ZegoScenario {
Default = 3,
StandardVideoCall = 4,
HighVideoCall = 5,
StandardChatroom = 6,
HighQualityChatroom = 7,
Broadcast = 8,
Karaoke = 9,
UNKNOWN = 100
}
export interface ZegoReportSpan {
setAttributes(attributes: Record): void;
setAttribute(key: string, value: any): void;
end(immediately?: boolean): void;
spanReport(): void;
}
export declare enum OSType {
WIN32 = "WIN32",
MAC = "Mac",
ANDROID = "Android",
LINUX = "Linux",
IOS = "iOS",
Harmony = "Harmony",
UNKNOWN = "WTF"
}
export declare enum PlayMode {
CDN = "cdn",
L3 = "l3",
RTC = "rtc"
}
export declare enum ResourceMode {
RTC = 0,
CDN = 1,
L3 = 2,
DG = 3,
CUSTOM = 5
}
export declare enum ENUM_NETWORK_STATE {
offline = 0,
online = 1
}
export interface SEIConfig {
unregisterSEIFilter?: string;
SEIPass?: boolean;
emulationPreventionByte?: boolean;
}
export interface AutoSwitchDeviceConfig {
camera?: boolean;
microphone?: boolean;
}
export declare enum QUALITY_CONSTANT {
MinQuality = 0,
DieQuality = 0,
PoorMinQuality = 1,
MiddleMinQuality = 30,
GoodMinQuality = 60,
ExcellentMinQuality = 85,
MaxQuality = 100
}
export declare enum QualityGrade {
Unknown = -1,
Excellent = 0,
Good = 1,
Middle = 2,
Poor = 3,
Die = 4
}
export declare class ListNode {
_id: number | null;
_data: K | null;
next: ListNode | null;
prev: ListNode | null;
constructor(id?: number | null, data?: K | null);
set id(id: number | null);
get id(): null | number;
set data(data: K | null);
get data(): K | null;
hasNext(): null | number;
hasPrev(): null | number;
}
export type MessageItem = {
seq: number;
sendTime: number;
timeout: number;
success: Function | undefined | null;
error: Function | undefined | null;
params?: Record;
cmd?: string;
};
export type RoomMessageItem = MessageItem & {
resend?: boolean;
sendBody?: Uint8Array;
cmdN?: string | number;
};
export declare class LinkedList {
start: ListNode;
end: ListNode;
_idCounter: number;
_numNodes: number;
constructor();
/**
* Inserts a node before another node in the linked list
* @param {Node} toInsertBefore
* @param {Node} node
*/
insertBefore(toInsertBefore: ListNode, data: T): ListNode;
/**
* Adds data wrapped in a Node object to the end of the linked list
* @param {object} data
*/
addLast(data: T): ListNode;
/**
* Alias for addLast
* @param {object} data
*/
add(data: T): ListNode;
/**
* Gets and returns the first node in the linked list or null
* @return {Node/null}
*/
getFirst(): ListNode | null;
/**
* Gets and returns the last node in the linked list or null
* @return {Node/null}
*/
getLast(): ListNode | null;
/**
* Gets and returns the size of the linked list
* @return {number}
*/
size(): number;
/**
* (Internal) Gets and returns the node at the specified index starting from the first in the linked list
* Use getAt instead of this function
* @param {number} index
*/
getFromFirst(index: number): null | ListNode;
/**
* Gets and returns the Node at the specified index in the linked list
* @param {number} index
*/
get(index: number): ListNode | null;
/**
* Removes and returns node from the linked list by rearranging pointers
* @param {Node} node
* @return {Node}
*/
remove(node: ListNode): ListNode;
/**
* Removes and returns the first node in the linked list if it exists, otherwise returns null
* @return {Node/null}
*/
removeFirst(): ListNode | null;
/**
* Removes and returns the last node in the linked list if it exists, otherwise returns null
* @return {Node/null}
*/
removeLast(): ListNode | null;
/**
* Removes all nodes from the list
*/
removeAll(): void;
/**
* Iterates the list calling the given fn for each node
* @param {function} fn
*/
each(iterator: Function): void;
find(iterator: Function): ListNode | null;
map(iterator: Function): ListNode[];
/**
* Alias for addLast
* @param {object} data
*/
push(data: T): ListNode;
/**
* Performs insertBefore on the first node
* @param {object} data
*/
unshift(data: T): void;
/**
* Alias for removeLast
*/
pop(): ListNode | null;
/**
* Alias for removeFirst()
*/
shift(): ListNode | null;
}
export declare enum EncodecSelectionModeType {
ONLY_BASELINE = "only_baseline",
HARD_SOFT_ENCODEC_FIRST = "hard_or_soft_encodec_first",
HIGH_PROFILE_FIRST = "high_profile_first"
}
declare enum ChoirRole {
None = 0,
Vocalist = 1,
BackingSinging = 2
}
export interface DataChannelOption {
ordered?: boolean;
maxPacketLifeTime?: number;
maxRetransmits?: number;
}
export interface EngineConfig {
encodecSelectionMode?: EncodecSelectionModeType;
keepAudioTrack: boolean;
playClearLastFrame: boolean;
previewClearLastFrame: boolean;
mixingAudioDelay: number;
adaptCustomUA: boolean;
allowReplaceEmptyTrack: boolean;
publishQualityInterval: number;
playQualityInterval: number;
baseMixingAudioDelay: number;
setDeviceDelayByUser?: number;
blankVideoTrackFrameInterval?: number;
choirRole?: ChoirRole;
notProxyRTC?: boolean;
disableCanvasIOS15_1?: boolean;
setUserInfo?: {
userID?: string;
userName?: string;
token?: string;
};
enableMiniSDP?: boolean;
keepRtcWhenSignalDisconnected?: boolean;
autoRecaptureOnShow?: boolean;
datachannelOption: DataChannelOption;
maxChannels?: number;
roomRetryTime?: number;
streamRetryTime?: number;
connectMediaServerInAdvance?: boolean;
switchRoomNotStopPlay?: boolean;
ipStackMode?: number;
enableReferenceBitrate: boolean;
speechEnhanceLogLevel?: number;
disableAINSRollback?: boolean;
stopTrackWhenSwitchDevice?: boolean;
isFlutter?: boolean;
}
export type { HttpReq, ConnectedType, BrokenType, Mode, DisconnectedType, BusinessService, NetAgentPCRequest, } from '../plugin/zegoConnection';
export { TRACER_LEVEL } from '../rtm/zego.entity';
export type { ZReporter } from '../rtm/zego.reporter';
export type { ZegoLogger, ZegoDataReport } from 'zego-express-logger';
export declare enum IPStackMode {
IPv4Only = 0,
IPv4Prefer = 1,
IPv6Prefer = 2
}
export declare enum IPStackType {
IPv4 = 0,
IPv6 = 1
}
export declare const ROOM_CHANNEL_MESSAGE_EXPERIMENTALAPI = 0;
export interface DetectIPList {
ipv4: string[];
ipv6: string[];
}
export declare const modeKeys: {
0: string;
1: string;
2: string;
};
export declare enum ZIPDetection {
unreachable = 0,
unknown = 1,
reachable = 2
}
export interface ZIPStackDetection {
IPv4: ZIPDetection;
IPv6: ZIPDetection;
}