///
import * as net from 'net';
import * as syntax from './syntax';
import { Observable } from 'rxjs';
import { MessageEvent } from './message-event';
export declare class Connection {
readonly socket: net.Socket;
readonly server: Server;
constructor(socket: net.Socket, server: Server);
private reader;
private writer;
private _messageReceived;
get messageReceived(): Observable;
sendMessage(message: syntax.Message): Promise;
private handle;
private onMessageReceived;
}
export declare class Server {
private _server;
private _messageReceived;
connections: Connection[];
onMessageReceived(event: MessageEvent): void;
get messageReceived(): Observable;
listen(port?: number, bind?: string): Promise;
close(): void;
}