import { ENUM_REMOTE_TYPE, ZEGO_ENV, LOG_LEVEL_STR, DataStatisticsItem, LogExtendFields } from './zego.entity';
import { LoggerStateCenter } from '../util/zego.stateCenter';
export declare const PROTO_VERSION: any;
export declare class ZegoLogger {
    private proxyCtrl?;
    static logVersion: any;
    logLevel: number;
    logRemoteLevel: number;
    stateCenter: LoggerStateCenter;
    logUploadTimer: any;
    logUploadInterval: number;
    timeInterval: number;
    existUserID: boolean;
    isDestroy: boolean;
    private _configState;
    private _logCache;
    private _logCacheMax;
    private _netContext;
    private _zipLogContext?;
    private _innerLogger;
    logConnected: boolean;
    get backURL(): string;
    set backURL(v: string);
    get url(): string;
    set url(v: string);
    get logType(): ENUM_REMOTE_TYPE;
    set logType(v: ENUM_REMOTE_TYPE);
    get env(): ZEGO_ENV;
    set env(v: ZEGO_ENV);
    get appid(): number;
    set appid(v: number);
    get roomid(): string;
    set roomid(v: string);
    get sessionid(): string | undefined;
    set sessionid(v: string | undefined);
    get userid(): string;
    set userid(v: string);
    get version(): string;
    set version(v: string);
    constructor(env: ZEGO_ENV, proxyCtrl?: any);
    /**
     *
     * 设置本地日志级别
     *
     * */
    setLogLevel(level: LOG_LEVEL_STR): boolean;
    /**
     *
     * 设置上报日志级别
     *
     * */
    setRemoteLogLevel(level: LOG_LEVEL_STR): boolean;
    setSessionInfo(appid: number, roomid: string, sessionid: string, userid: string, userName: string, version: string): void;
    setTokenInfo(token: string, userid?: string): void;
    /**
     * @param zipLog 是否开启 zipLog
     * @param force 是否强制执行（如果为 true，同时 zipLog = 0，将回收缓存的ZipLog资源）
     */
    setZipLogConfig(zipLog: number, force?: boolean): void;
    /**
     * 设置上报ZipLog的域名
     */
    setZipLogUploadUrl(url: string): void;
    /**
     * 清除持久化的日志并上报（日志）
     */
    makeZipLogSpaceUpload(): Promise<void>;
    uploadStorageLog(): Promise<void>;
    report(dataItem: DataStatisticsItem): void;
    debug(value: string, fields?: LogExtendFields): void;
    info(value: string, fields?: LogExtendFields): void;
    warn(value: string, fields?: LogExtendFields): void;
    remoteReport(...values: string[]): void;
    error(value: string, fields?: LogExtendFields): void;
    private _log;
    setLogServer(url: string, option?: {
        bakURL?: string;
    }): boolean;
    private _stopLogServer;
    private _stopWebSocketServer;
    private _openHttpsLogServer;
    private _stopHttpsServer;
    private _remoteLog;
    clearCache(): void;
    private _remoteWebSocketLog;
    private _remoteHttpsLog;
    private _logParamList;
    private _logReportParamList;
    private _sendHttpsLog;
    private _sendHttpsLogWeb;
    SendHttpsLogWeChatMini(): void;
    inflate: Function;
    deflate: Function;
    destroy(): void;
}
