import { TeamAppsConnection, TeamAppsConnectionListener } from "./TeamAppsConnection";
import { UiClientInfoConfig } from "../../generated/UiClientInfoConfig";
import { UiEvent } from "../../generated/UiEvent";
import { UiQuery } from "../../generated/UiQuery";
export declare class TeamAppsConnectionImpl implements TeamAppsConnection {
    private sessionId;
    private sentEventsMinBufferSize;
    private keepaliveInterval;
    private minRequestedCommands;
    private maxRequestedCommands;
    private protocolStatus;
    private connection;
    private payloadMessagesQueue;
    private sentEventsBuffer;
    private clientMessageIdCounter;
    private queryResultHandlerByMessageId;
    private maxRequestedCommandId;
    private lastReceivedCommandId;
    constructor(url: string, sessionId: string, clientInfo: UiClientInfoConfig, commandHandler: TeamAppsConnectionListener);
    private ensureEnoughCommandsRequested;
    private static isINIT_OK;
    private static isINIT_NOK;
    private static isREINIT_OK;
    private static isREINIT_NOK;
    private static isMULTI_CMD;
    private static isQUERY_RESULT;
    private static isSESSION_CLOSED;
    private isConnected;
    sendEvent(event: UiEvent): void;
    sendQuery(query: UiQuery): Promise<any>;
    private sendResult;
    private sendClientPayloadMessage;
    private flushPayloadMessages;
    private sendPayloadMessage;
    private log;
}
