import { Socket } from 'socket.io-client';
import URLEndpoint from '../Core/Http/URLEndpoint';
export interface Notifiable {
    onDisconnect: (connection: RealtimeConnection) => void;
    onConnect: (connection: RealtimeConnection) => void;
    onReconnect: (connection: RealtimeConnection) => void;
}
export declare class RealtimeConnection {
    private endpoint;
    private _socket;
    private notifiable;
    static connect(endpoint: URLEndpoint, notifiable?: Notifiable): Promise<RealtimeConnection>;
    disconnect(): Promise<void>;
    private initInternal;
    private constructor();
    private handleOnConnectAsync;
    private handleOnConnect;
    private handleOnReconnect;
    private handleOnDisconnect;
    private initSocket;
    get socket(): Socket;
}
