import { ENUM_RUN_STATE, ZegoError } from '../zego.entity';
import { StateCenter } from '../stateCenter';
import { ZegoRoomConfig, ZegoRoomStateChangedReason, ZegoUser } from '../../../code/zh/ZegoExpressEntity.rtm';
import { LiveRoomModules } from '.';
import { LiveRoomHandler } from './liveroomHandler';
import { ZegoDataReport, ZegoLogger } from '../../common/zego.entity';
export declare class RoomHandler {
    private _zgp_logger;
    private _zgp_stateCenter;
    private _dataReport;
    private _zgp_room;
    private _zgp_liveRoomHandler;
    private _zgp_tryLoginTimer;
    private _zgp_tryLoginInterval;
    private _zgp_tokenTimer;
    private _zgp_liveRoomLoginKey;
    private _zgp_tempBrokenTime;
    private _zgp_reconnectTimes;
    private _zgp_updataStateTimer;
    private get _zgp_reporter();
    validTime: number;
    totalTime: number;
    brokenCounts: number;
    private _zgp_loginedTimestamp;
    private _zgp_firstLoginedTimestamp;
    private _zgp_isBroken;
    private get _zgp_roomID();
    constructor(_zgp_logger: ZegoLogger, _zgp_stateCenter: StateCenter, _dataReport: ZegoDataReport, _zgp_room: LiveRoomModules, _zgp_liveRoomHandler: LiveRoomHandler);
    resetTokenTimer(interval: number): void;
    private _zgp_stopTokenTimer;
    setRunState(newRunState: ENUM_RUN_STATE): void;
    private _zgp_resetTryLogin;
    private _zgp_reportLogoutSpan;
    resetRoom(isAll?: boolean): void;
    resetRoomCallBack(): void;
    loginSuccessCallBack(lastRunState: number, msg: any): void;
    handlePushKickout(msg: any, isAll?: boolean, isSwitch?: boolean): void;
    handleHbLogout(err: ZegoError): void;
    logoutByError(err: ZegoError): void;
    onConnecting(err: ZegoError): void;
    disconnectedHandle(error: ZegoError, extend?: {
        extendedData?: string;
        isKickout?: boolean;
    }): void;
    updateTimes(): void;
    updateValidTime(): void;
    updateTotalTime(): void;
    _roomStateHandle(state: 'DISCONNECTED' | 'CONNECTING' | 'CONNECTED', reason: ZegoRoomStateChangedReason, error: ZegoError, extendedData?: string, isSwitchRoom?: boolean): void;
    roomSpan(spanKey: any, roomID: string, reason: ZegoRoomStateChangedReason, infos: {
        error: ZegoError;
        extendedData: string;
        brokenTime?: number;
    }): void;
    transError(error: any): void;
    login(roomid: string, token: string, user: ZegoUser, config: ZegoRoomConfig | undefined, success: (success: boolean) => void, error: (err: ZegoError) => void, err?: ZegoError): void;
    private _zgp_tryLogin;
    private _zgp_handleLoginRsp;
    private loginCallback;
    private _zgp_handleLoginFail;
    private _zgp_handleLoginSuccess;
    logout(isAll?: boolean, isSwitchRoom?: boolean): void;
    private _zgp_handleLogoutRsp;
}
