/** * Snappy compression, written here rather than taken from a package. * * Two reasons, and the second is the real one: * * 1. no runtime dependency โ€” the whole writer exists to avoid one; * 2. two different snappy implementations may emit DIFFERENT (both valid) * output for the same input, because the format leaves match-finding to * the encoder. TDC promises that the TypeScript, Python and Java ports * produce byte-identical files; that promise survives only if all three * run the same matcher. Ours does, by construction. * * Format: a varint holding the uncompressed length, then a stream of elements. * Each element is either a LITERAL (bytes copied out verbatim) or a COPY (go * back `offset` bytes and take `length` of them). The tag byte's low two bits * say which, and copies come in three sizes depending on how far back they * reach. * * The matcher is a plain hash table over four-byte sequences. It is not the * strongest possible โ€” Snappy explicitly permits any encoder that decodes back * to the input โ€” but it is fast, allocation-light and, above all, exactly * reproducible. * Spec: docs/specs/2026-07-19-parquet-statistics-and-encodings.md ยง4 */ /** Compress with Snappy. The result always decodes back to `input` exactly. */ export declare function snappyCompress(input: Uint8Array): Uint8Array; //# sourceMappingURL=snappy.d.ts.map