import { BinaryReader } from '../protocol/binary_reader'; import { ServerPacketType } from '../protocol/packet_types'; import type { ServerHello, ServerException } from '../protocol/handshake'; import type { BlockHeader } from '../protocol/data_packet'; import type { ProgressPacket, ProfileInfoPacket } from '../protocol/server_packets'; export type ServerPacket = { type: ServerPacketType.Hello; data: ServerHello; } | { type: ServerPacketType.Data | ServerPacketType.Totals | ServerPacketType.Extremes | ServerPacketType.ProfileEvents; data: { tempTable: string; header: BlockHeader; rawReader: BinaryReader; }; } | { type: ServerPacketType.Exception; data: ServerException; } | { type: ServerPacketType.Progress; data: ProgressPacket; } | { type: ServerPacketType.Pong; } | { type: ServerPacketType.EndOfStream; } | { type: ServerPacketType.ProfileInfo; data: ProfileInfoPacket; } | { type: ServerPacketType.TableColumns; data: { tempTable: string; columns: string; }; }; export declare class PacketReader { private buf; private readPos; private writePos; private _decompress; set decompress(value: boolean); feed(data: Buffer): void; get bufferedLength(): number; private clearBuffer; /** * Try to read a single packet from the accumulated buffer. * Returns null if not enough data yet. */ tryReadPacket(): ServerPacket | null; private consume; /** Take the accumulated buffer and reset it. */ drainBuffer(): Buffer; reset(): void; }