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 enum LOG_STRATEGY {
    DEFAULT = 0
}
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;
}
