///
import * as stream from 'node:stream';
import { Nfsv4CompoundRequest, Nfsv4CompoundResponse, Nfsv4Request } from '../messages';
import type { Nfsv4Client } from './types';
export interface Nfsv4TcpClientOpts {
host?: string;
port?: number;
timeout?: number;
debug?: boolean;
logger?: Pick;
}
export declare class Nfsv4TcpClient implements Nfsv4Client {
static fromDuplex(duplex: stream.Duplex, opts?: Nfsv4TcpClientOpts): Nfsv4TcpClient;
readonly host: string;
readonly port: number;
readonly timeout: number;
debug: boolean;
logger: Pick;
private socket;
private connected;
private connecting;
private xid;
private seqid;
private pendingRequests;
private readonly rmDecoder;
private readonly rpcDecoder;
private readonly nfsDecoder;
private readonly nfsEncoder;
constructor(opts?: Nfsv4TcpClientOpts);
private nextXid;
connect(): Promise;
protected setSocket(socket: stream.Duplex): void;
private onData;
private onRpcMessage;
private onClose;
compound(request: Nfsv4CompoundRequest): Promise;
compound(operations: Nfsv4Request[], tag?: string, minorversion?: number): Promise;
null(): Promise;
close(): void;
isConnected(): boolean;
}