///
///
import net from 'net';
import { Event } from '../../event';
import { Logger } from '../../logger';
import { MessageBuffer } from '../messageBuffer';
import { RpcResponse } from '../response';
import { RpcClient } from './client';
export type RpcSocketClientConnectionInfo = {
path?: string;
host?: string;
port?: number;
};
export declare abstract class RpcSocketClient extends RpcClient {
readonly onClose: Event<[]>;
readonly connectTo: RpcSocketClientConnectionInfo;
readonly authToken: string | null;
readonly messageBuffer: MessageBuffer;
protected readonly logger: Logger;
client: net.Socket | null;
isConnected: boolean;
constructor(connectTo: RpcSocketClientConnectionInfo, logger: Logger, authToken?: string);
private timeoutMs;
private messageIds;
private pending;
connect(): Promise;
close(): void;
tryConnect(): Promise;
request(route: string, data?: unknown, options?: {
timeoutMs?: number | null;
}): RpcResponse;
protected send(messageId: number, route: string, data: unknown, authToken: string | null): void;
protected handleStream: (data: unknown) => Promise;
protected handleClose: () => void;
protected handleEnd: (data: unknown) => Promise;
protected onConnect(): void;
protected onClientData: (data: Buffer) => void;
protected onData: (data: Buffer) => Promise;
protected onClientClose: () => void;
protected onMessage: (data: unknown) => void;
protected onStream: (data: unknown) => void;
protected onError: (error: unknown) => void;
protected onSocketError: (error: unknown) => void;
describe(): string;
}
//# sourceMappingURL=socketClient.d.ts.map