/** * PLAIN encoding — the simplest Parquet value layout: values written back to * back, little-endian, with no compression or dictionary. Correct and portable; * denser encodings can be added later without changing what readers accept. * Spec: docs/specs/2026-07-19-typed-output-and-parquet-writer.md §6. */ export declare function plainInt32(values: readonly number[]): Uint8Array; export declare function plainInt64(values: readonly bigint[]): Uint8Array; export declare function plainDouble(values: readonly number[]): Uint8Array; /** Each value is a 4-byte little-endian byte length followed by its bytes. */ export declare function plainByteArray(values: readonly string[]): Uint8Array; /** Fixed-width values (e.g. a 16-byte UUID) carry no length prefix. */ export declare function plainFixed(values: readonly Uint8Array[]): Uint8Array; /** Booleans are bit-packed, least-significant bit first. */ export declare function plainBoolean(values: readonly boolean[]): Uint8Array; /** PLAIN FLOAT: 4-byte little-endian IEEE-754 single precision. */ export declare function plainFloat(values: readonly number[]): Uint8Array; /** * IEEE-754 half precision (binary16) as two little-endian bytes. * * Parquet stores FLOAT16 in a FIXED_LEN_BYTE_ARRAY(2); there is no native * physical type for it, so the bits are assembled by hand. Rounding is * round-half-to-even, matching what every other implementation does — a * different rounding rule would put different bytes in the file for the same * input, which is exactly what the cross-language contract forbids. */ export declare function halfBits(value: number): number; /** Decode half-precision bits back to a number. */ export declare function halfToNumber(bits: number): number; export declare function plainFloat16(values: readonly number[]): Uint8Array; //# sourceMappingURL=plain.d.ts.map