/// <reference types="node" />
import { LOG_STRATEGY, Logger } from '../../zego.entity';
import { ConfigState } from '../common/config.state';
import { LogCache } from './index';
export declare class NetworkContext {
    private _cache;
    private _configState;
    private _innerLogger;
    private _proxyCtrl?;
    private _websocket;
    private _websocketState;
    private _lastWsState;
    private _senderBuilder;
    private _sender;
    private _hasAuth;
    constructor(_cache: LogCache, _configState: ConfigState, _innerLogger: Logger, _proxyCtrl?: any);
    get url(): string;
    set url(v: string);
    get strategy(): LOG_STRATEGY;
    setStrategy(strategy: LOG_STRATEGY): void;
    addRemoteWsLog(log: string): void;
    stopWebSocketServer(): void;
    private _updateSender;
    private _updateWebSocketState;
    onSocketConnect(): void;
    _socketTimer: NodeJS.Timeout | number | null;
    openWebSocketLogServer(url: string, immediately?: boolean, force?: boolean): void;
    closed(): boolean;
    connected(): boolean;
    connecting(): boolean;
    get canSendWs(): boolean;
    sendLogFrame(log: string): Promise<void>;
    seq: number;
    makeLogFrame(log: string): Promise<Uint8Array>;
    /**
     * 组装日志上报的包内容
     * @param seq
     * @param cmd 7 为详细日志，5 为心跳包
     * @param data
     * @returns
     */
    private _zgp_assembleMessage;
    private _zgp_handlePushMessage;
    clearLogCacheAndUpload(): void;
    private _zgp_lastRecvMsgTime?;
    private checkHbTimer?;
    private clearHbTimer;
    private startHbTimer;
    destroy(): void;
}
