import { ZegoWeiXinMiniWebSocket } from '../util/zego.webSocket';
export declare enum ZEGO_BROWSER_TYPE {
    IE = 0,
    FIREFOX = 1,
    CHROME = 2,
    SAFARI = 3,
    OPERA = 4,
    WEIXIN = 5,
    WEIXINMINI = 6,
    UNKOWN = 7
}
export declare enum ZEGO_ENV {
    BROWSER = 0,
    WEIXINMINI = 1
}
export declare const enum ZegoLogStrategy {
    /**
     * 停止发送日志
     */
    Stop = 0,
    /**
     * 1KB/s  每 1s 发送 1 KB
     */
    LowFrequencySmall = 1,
    /**
     * 10KB/s  每 500ms 发送 5 KB
     *
     */
    LowFrequencyLarge = 2,
    /**
     * 100KB/s  每 100ms 发送 10 KB
     */
    HighFrequencySmall = 3,
    /**
     * 200KB/s  每 100ms 发送 20 KB
     */
    HighFrequencyLarge = 4,
    /**
     * 2M/s  每 10ms 发送 20KB 日志
     */
    Unlimited = 5
}
export declare enum ENUM_REMOTE_TYPE {
    DISABLE = 0,
    WEBSOCKET = 1,
    HTTPS = 2
}
export declare const ENUM_LOG_LEVEL: {
    DEBUG: number;
    INFO: number;
    WARN: number;
    ERROR: number;
    REPORT: number;
    DISABLE: number;
    debug: number;
    info: number;
    warn: number;
    error: number;
    report: number;
    disable: number;
};
export type LOG_LEVEL_STR = 'debug' | 'info' | 'warn' | 'error' | 'report' | 'disable';
export declare enum E_CLIENT_TYPE {
    ClientType_None = 0,
    ClientType_H5 = 1,
    ClientType_SmallPragram = 2,
    ClientType_Webrtc = 3
}
export interface DataStatisticsItemEvent {
    event: string;
    event_time: number;
    time_consumed?: number;
    msg_ext?: {
        [index: string]: string | number;
    };
}
export interface DataStatisticsItem {
    event_time: number;
    time_consumed: number;
    error: number;
    message: string;
    events: DataStatisticsItemEvent[];
    seq?: number;
    msg_ext?: string;
    itemtype?: string;
    event?: string;
    client_type?: E_CLIENT_TYPE;
    time?: string;
    level?: number;
    console?: string;
    appid?: number;
    room_id?: string;
    roomid?: string;
    userid?: string;
    id_name?: string;
    userName?: string;
    sessionid?: string;
    sdk_version?: string;
    test_environment?: boolean;
    version?: string;
    event_id?: string;
}
export interface DataStatistics {
    [index: string]: DataStatisticsItem;
}
export type ZegoWebSocket = ZegoWeiXinMiniWebSocket | WebSocket;
export interface LogExtendFields {
    streamid?: string;
}
export interface Logger {
    debug(value: string, fields?: LogExtendFields): void;
    info(value: string, fields?: LogExtendFields): void;
    warn(value: string, fields?: LogExtendFields): void;
    error(value: string, fields?: LogExtendFields): void;
}
export declare enum IPStackType {
    IPv4 = 0,
    IPv6 = 1
}
export declare enum ZIPDetection {
    unreachable = 0,
    unknown = 1,
    reachable = 2
}
export type URLConfig = {
    [index in IPStackType]: string;
};
export declare enum IPStackMode {
    IPv4Only = 0,
    IPv4Prefer = 1,
    IPv6Prefer = 2
}
export interface LogConfig {
    ipStackMode: IPStackMode;
}
export declare enum ENUM_NETWORK_STATE {
    offline = 0,
    online = 1
}
