///
import { BitstreamReader, BitstreamWriter } from '@astronautlabs/bitstream';
import * as net from 'net';
import { Observable } from 'rxjs';
import * as syntax from './syntax';
import { SingleOperationMessage } from './syntax';
export declare class ClientV2 {
socket: net.Socket;
private messageNumber;
connect(host: string, port?: number): Promise;
reader: BitstreamReader;
writer: BitstreamWriter;
private _messageReceived;
private resolveConnect;
private rejectConnect;
private connected;
private messageHandler;
get messageReceived(): Observable;
disconnect(): Promise;
sendMessage(message: syntax.Message): void;
request(message: syntax.SingleOperationMessage | syntax.MultipleOperationMessage): Promise;
init(): Promise;
alive(): Promise;
}