///
import { SelectiveAckHeaderExtension } from './Extensions.js';
import type { HeaderInput, ISelectiveAckHeaderInput, MicroSeconds, PacketHeader, PacketType } from './PacketTyping.js';
import type { Uint16, Uint32, Uint8 } from '../index.js';
declare abstract class Header {
pType: PacketType;
version: Uint8;
extension: Uint8;
connectionId: Uint16;
timestampMicroseconds: MicroSeconds;
timestampDifferenceMicroseconds: MicroSeconds;
wndSize: Uint32;
seqNr: Uint16;
ackNr: Uint16;
length: number;
constructor(options: HeaderInput);
abstract encode(): Buffer;
}
export declare class BasicPacketHeader extends Header {
constructor(options: HeaderInput);
encode(): Buffer;
}
export declare class SelectiveAckHeader extends Header {
selectiveAckExtension: SelectiveAckHeaderExtension;
bitmask: Uint8Array;
constructor(options: ISelectiveAckHeaderInput);
encode(): Buffer;
}
export declare function createPacketHeader(options: HeaderInput): PacketHeader;
export {};
//# sourceMappingURL=PacketHeader.d.ts.map