/// export declare class Chunk { flags: number; private _body; get body(): Buffer | undefined; set body(value: Buffer | undefined); static type: number; constructor(flags?: number, _body?: Buffer | undefined); get type(): number; get bytes(): Buffer; } export declare class BaseInitChunk extends Chunk { flags: number; initiateTag: number; advertisedRwnd: number; outboundStreams: number; inboundStreams: number; initialTsn: number; params: [number, Buffer][]; constructor(flags?: number, body?: Buffer); get body(): Buffer; } export declare class InitChunk extends BaseInitChunk { static type: number; get type(): number; } export declare class InitAckChunk extends BaseInitChunk { static type: number; get type(): number; } export declare class ReConfigChunk extends BaseInitChunk { static type: number; get type(): number; } export declare class ForwardTsnChunk extends Chunk { flags: number; static type: number; streams: [number, number][]; cumulativeTsn: number; constructor(flags: number, body: Buffer | undefined); get type(): number; set body(_: Buffer); get body(): Buffer; } export declare class DataChunk extends Chunk { flags: number; static type: number; get type(): number; tsn: number; streamId: number; streamSeq: number; protocol: number; userData: Buffer; abandoned?: boolean; acked?: boolean; bookSize?: number; expiry?: number; maxRetransmits?: number; misses?: number; retransmit?: boolean; sentCount?: number; sentTime?: number; constructor(flags: number, body: Buffer | undefined); get bytes(): Buffer; } export declare class CookieEchoChunk extends Chunk { static type: number; get type(): number; } export declare class CookieAckChunk extends Chunk { static type: number; get type(): number; } export declare class BaseParamsChunk extends Chunk { flags: number; params: [number, Buffer][]; constructor(flags?: number, body?: Buffer | undefined); get body(): Buffer; } export declare class AbortChunk extends BaseParamsChunk { static type: number; get type(): number; } export declare class ErrorChunk extends BaseParamsChunk { static type: number; get type(): number; } export declare class HeartbeatChunk extends BaseParamsChunk { static type: number; get type(): number; } export declare class HeartbeatAckChunk extends BaseParamsChunk { static type: number; get type(): number; } export declare class ReconfigChunk extends BaseParamsChunk { static type: number; get type(): number; } export declare class SackChunk extends Chunk { flags: number; static type: number; get type(): number; gaps: [number, number][]; duplicates: number[]; cumulativeTsn: number; advertisedRwnd: number; constructor(flags: number, body: Buffer | undefined); get bytes(): Buffer; } export declare class ShutdownChunk extends Chunk { flags: number; static type: number; get type(): number; cumulativeTsn: number; constructor(flags: number, body: Buffer | undefined); get body(): Buffer; } export declare class ShutdownAckChunk extends Chunk { static type: number; get type(): number; } export declare class ShutdownCompleteChunk extends Chunk { static type: number; get type(): number; } export declare const CHUNK_TYPES: { [key: string]: typeof Chunk; }; export declare function decodeParams(body: Buffer): [number, Buffer][]; export declare function parsePacket(data: Buffer): [number, number, number, Chunk[]]; export declare function serializePacket(sourcePort: number, destinationPort: number, verificationTag: number, chunk: Chunk): Buffer;