import { BitWriter } from './bit-writer'; import { BlockSplit } from './block-splitter'; import { HistogramLiteral, HistogramCommand, HistogramDistance } from './histogram'; import { Command } from './command'; export declare const NUM_BLOCK_LEN_SYMBOLS = 26; export declare const MAX_BLOCK_TYPE_SYMBOLS = 258; export declare const LITERAL_CONTEXT_BITS = 6; export declare const DISTANCE_CONTEXT_BITS = 2; export interface MetaBlockSplit { literalSplit: BlockSplit; commandSplit: BlockSplit; distanceSplit: BlockSplit; literalContextMap: Uint32Array | null; literalContextMapSize: number; distanceContextMap: Uint32Array | null; distanceContextMapSize: number; literalHistograms: HistogramLiteral[]; commandHistograms: HistogramCommand[]; distanceHistograms: HistogramDistance[]; } export declare function createMetaBlockSplit(): MetaBlockSplit; export declare function blockLengthPrefixCode(len: number): number; export declare function getBlockLengthPrefixCode(len: number): [number, number, number]; export declare class BlockTypeCodeCalculator { lastType: number; secondLastType: number; nextCode(type: number): number; } export interface BlockSplitCode { typeDepths: Uint8Array; typeBits: Uint16Array; lengthDepths: Uint8Array; lengthBits: Uint16Array; typeCalculator: BlockTypeCodeCalculator; } export declare function buildAndStoreBlockSplitCode(writer: BitWriter, types: Uint8Array, lengths: Uint32Array, numBlocks: number, numTypes: number): BlockSplitCode; export declare function storeBlockSwitch(writer: BitWriter, code: BlockSplitCode, blockLen: number, blockType: number, isFirstBlock: boolean): void; export declare function encodeMlen(length: number): { bits: number; numBits: number; nibblesBits: number; }; export declare function storeCompressedMetaBlockHeader(writer: BitWriter, isLast: boolean, length: number): void; export declare function storeUncompressedMetaBlockHeader(writer: BitWriter, length: number): void; export declare function storeCommandExtra(writer: BitWriter, cmd: Command): void; export declare function storeMetaBlockTrivial(writer: BitWriter, input: Uint8Array, startPos: number, length: number, mask: number, isLast: boolean, commands: Command[], distanceAlphabetSize: number, npostfix?: number, ndirect?: number): void; export declare function storeMetaBlock(writer: BitWriter, input: Uint8Array, startPos: number, length: number, mask: number, isLast: boolean, commands: Command[], distanceAlphabetSize: number, quality: number, npostfix?: number, ndirect?: number): void; export declare function storeUncompressedMetaBlock(writer: BitWriter, input: Uint8Array, position: number, mask: number, length: number, isFinal: boolean): void; //# sourceMappingURL=metablock.d.ts.map