import { EasemobChat } from '../../imports';
import { FcrCoreServiceApi } from '../../service/api';
import { FcrChatConnectionObserver, FcrChatConnectionState, FcrChatConnector } from '../../chat-connector/type';
export declare class FcrChatConnectorImpl implements FcrChatConnector {
    private _userId;
    private _api;
    private _chatIpList?;
    private _restIpList?;
    protected logger: import("agora-foundation/lib/logger/type").Logger;
    private _observable;
    private _initConfig?;
    private _loginPromise;
    private _logoutPromise;
    private _isLogoutRequested;
    private _abortLogin;
    private _conn;
    private _connectionState;
    private _reconnectionTimer;
    private _reconnectPromise;
    constructor(_userId: string, _api: FcrCoreServiceApi, _chatIpList?: string[] | undefined, _restIpList?: string[] | undefined);
    login(): Promise<void>;
    logout(): number;
    getConnectionState(): FcrChatConnectionState;
    getConnectionInstance(): EasemobChat.Connection;
    addObserver(observer: FcrChatConnectionObserver): void;
    removeObserver(observer: FcrChatConnectionObserver): void;
    private _performLogin;
    private _addEventListeners;
    private _performLogout;
    private _waitForLoginComplete;
    private _closeConnection;
    private _setConnectionState;
    private _getPrivateConfig;
    private _handleConnected;
    private _handleDisconnected;
    private _reconnect;
    private _addLogObserver;
}
