import { Logger, RequestHelperFunctions } from 'n8n-workflow';
import { EventDispatcher } from './dispatcher';
import { Domain } from './enum';
interface IConstructorParams {
    appId: string;
    appSecret: string;
    domain?: string | Domain;
    logger: Logger;
    helpers: RequestHelperFunctions;
    autoReconnect?: boolean;
    agent?: any;
}
export declare class WSClient {
    private wsConfig;
    private logger;
    private dataCache;
    private helpers;
    private eventDispatcher?;
    private pingInterval?;
    private reconnectInterval?;
    private isConnecting;
    private shouldReconnect;
    private reconnectInfo;
    private agent?;
    constructor(params: IConstructorParams);
    private pullConnectConfig;
    private connect;
    private reConnect;
    private pingLoop;
    private communicate;
    private handleControlData;
    private handleEventData;
    private sendMessage;
    getReconnectInfo(): {
        lastConnectTime: number;
        nextConnectTime: number;
    };
    start(params: {
        eventDispatcher: EventDispatcher;
    }): Promise<void>;
    stop(): Promise<void>;
}
export {};
