import type { ColumnCodec, ColumnCodecSpec, GeneralColumnCodec, PreprocessingColumnCodec, RawColumnCodec } from './model-types.js'; export declare function isGeneralCodec(codec: ColumnCodec): codec is GeneralColumnCodec; export declare function isPreprocessorCodec(codec: ColumnCodec): codec is PreprocessingColumnCodec; export declare function isRawCodec(codec: ColumnCodec): codec is RawColumnCodec; export declare function renderCodec(spec: ColumnCodecSpec): string; /** * Parses a ClickHouse-returned codec expression (e.g. `CODEC(Delta(4), ZSTD(1))`). * Returns undefined for empty/missing input. Unknown or unparsable tokens fall * back to a single `raw` atom holding the whole chain, so ClickHouse-returned * codecs we haven't typed still round-trip cleanly. */ export declare function parseCodec(raw: string | undefined | null): ColumnCodec[] | undefined; /** * Normalizes a codec spec to array form with ClickHouse defaults filled in, * so that `{kind:'ZSTD'}` and `{kind:'ZSTD', level:1}` compare equal. * Does not reorder chain steps — `[Delta, ZSTD]` ≠ `[ZSTD, Delta]` semantically. */ export declare function canonicalizeCodec(spec: ColumnCodecSpec): ColumnCodec[]; export declare function codecsEqual(a?: ColumnCodecSpec, b?: ColumnCodecSpec): boolean; export declare const codec: { raw: (expression: string) => RawColumnCodec; }; //# sourceMappingURL=codec.d.ts.map