declare class HPACK { dynamicTable: [string, string][]; dynamicTableSize: number; maxDynamicTableSize: number; staticTable: [string, string][]; huffmanTable: { codes: Uint32Array; lengths: Uint8Array; }; constructor(maxDynamicTableSize?: number); encode(headers: { [key: string]: string; }): Uint8Array; encodeInteger(value: number, prefixBits: number, prefix?: number): number[]; encodeString(str: string): number[]; findInStaticTable(name: string, value: string): number; findInDynamicTable(name: string, value: string): number; encodeLiteral(buffer: number[], name: string, value: string): void; addToDynamicTable(name: string, value: string): void; getIndexedHeader(index: number): [string, string]; buildHuffmanTable(): { codes: Uint32Array; lengths: Uint8Array; }; /** * 解码Uint8Array为字符串 * @param input 编码后的Uint8Array * @returns 解码后的字符串 */ decode(input: Uint8Array): string; /** * 在Huffman树中查找符号 */ private findSymbol; huffmanEncode(bytes: Uint8Array): Uint8Array; decodeHeaderFields(buffer: Uint8Array): Map; decodeInteger(buffer: Uint8Array, startIndex: number, prefixBits: number): number[]; decodeLiteralString(buffer: Uint8Array, startIndex: number): [string, number]; decodeIndexedHeader(buffer: Uint8Array, index: number): [string, string, number]; decodeLiteralHeaderWithIndexing(buffer: Uint8Array, index: number): [string, string, number]; decodeLiteralHeaderWithoutIndexing(buffer: Uint8Array, index: number): [string, string, number]; huffmanDecodeToString(bytes: Uint8Array): string; } export { HPACK };