/** * For decoding: given a length prefix code 0..23 and the value of its * extra bits, return the actual run length (≥ 1). */ export declare function lengthFromCode(code: number, extraBitsValue: number): number; /** * For encoding: convert a desired run length into the prefix code + * extra-bits payload. Returns `null` if `length < 1` or `> MAX_LENGTH`. */ export declare function lengthToCode(length: number): { code: number extraBits: number extraValue: number } | null; /** * VP8L length-code helpers — symmetric to `distance.ts`, but for the * length component of an LZ77 backreference. * * Length codes occupy positions 256..279 in the green/length alphabet * (i.e. the green tree dispatches to a length code by emitting a symbol * ≥ 256). Each code resolves to a base length plus an extra-bits payload * using VP8L's own prefix scheme (spec §4.2.1.1, libwebp `PrefixDecode`) * — NOT deflate's tables: * * code < 4: value = code + 1, no extra bits * code ≥ 4: extra = (code - 2) >> 1 * offset = (2 + (code & 1)) << extra * value = offset + extraBits + 1 * * The same scheme drives the distance alphabet in `distance.ts`. */ /** Length codes in the alphabet (positions 256..279 of the green tree). */ export declare const NUM_LENGTH_CODES: 24; /** Extra-bit count per length code: (code - 2) >> 1 for codes ≥ 4. */ export declare const LENGTH_EXTRA_BITS: Uint8Array; /** Base length for each code; final length = base + extraBitsValue. */ export declare const LENGTH_OFFSET: Uint16Array; /** Maximum length representable in a single backreference. */ export declare const MAX_LENGTH: unknown;