import { ILogger } from 'ts-smart-logger';
import { BaseChannel } from '../base-channel.service';
import { ISignalRChannelConfigEntity } from './signalr-channel.interface';
/**
 * @service
 * @stable [04.11.2020]
 */
export declare class SignalRChannel extends BaseChannel<ISignalRChannelConfigEntity> {
    protected static readonly logger: ILogger;
    private static readonly $$CONNECTION_STOPPED;
    private static readonly $$RECONNECT_TASK;
    private static readonly RETRY_DELAYS;
    /**
     * @stable [04.11.2020]
     */
    constructor();
    /**
     * @stable [04.11.2020]
     * @param ip
     * @param config
     */
    connect(ip: string, config?: ISignalRChannelConfigEntity): Promise<void>;
    /**
     * @stable [06.11.2020]
     * @param connection
     * @param callback
     * @private
     */
    private doConnect;
    /**
     * @stable [06.11.2020]
     * @private
     */
    private tryReconnect;
    /**
     * @stable [07.11.2020]
     * @param connection
     * @private
     */
    private stopReconnectTask;
    /**
     * @stable [06.11.2020]
     * @param connection
     * @private
     */
    private getReconnectTask;
    /**
     * @stable [07.11.2020]
     * @param connection
     * @param task
     * @private
     */
    private setReconnectTask;
    /**
     * @stable [07.11.2020]
     * @param connection
     * @private
     */
    private setStopConnection;
    /**
     * @stable [07.11.2020]
     * @param connection
     * @private
     */
    private isConnectionStopped;
}
