import * as Stream from 'stream'; import type { Connection, ConnPingParams, ConnPingResult, ConnBaseQueryParams, ConnQueryResult, ConnInsertParams, ConnInsertResult, ConnCommandResult, ConnExecParams, ConnExecResult, ConnectionParams } from '@clickhouse/client-common'; export interface TcpConnectionExtra { tls?: { ca?: Buffer | string; cert?: Buffer | string; key?: Buffer | string; }; } export declare class TcpConnection implements Connection { private socketManager; private packetReader; private packetWriter; serverInfo: { serverName: string; revision: number; timezone: string; displayName: string; } | null; private params; private extra; private connected; private pendingResolves; lastUsed: number; constructor(config: ConnectionParams, extra?: TcpConnectionExtra); connect(): Promise; ping(_params?: ConnPingParams): Promise; query(params: ConnBaseQueryParams): Promise>; private _query; insert(params: ConnInsertParams): Promise; private _insert; command(params: ConnBaseQueryParams & { ignore_error_response?: boolean; }): Promise; private _command; exec(params: ConnExecParams): Promise>; close(): Promise; private createSocketManager; private resetConnection; private ensureConnected; private checkAborted; private waitForPacketWithAbort; private waitForPacket; private isConnectionError; private withRetry; private drainPackets; private readBlockColumns; private skipBlockColumns; /** Wait until at least one more chunk of data arrives on the socket. */ private waitForMoreData; private consumeFromReader; private blocksToStream; private exceptionToError; }