/** * Validation for `type="…"` on a `` — the typed output column. * * Caught at LOAD time rather than partway through writing a file: a bad type * discovered mid-write leaves a truncated .parquet behind, and the message * would point at a row instead of at the config. */ import { type Diagnostic } from '../errors/index.js'; import type { AttrContext } from '../generated/TDCParser.js'; /** * `if=` on a named ``, or on the `` holding one. * * A named `` declares a typed output COLUMN, and a column has one cell per * card — the columnar writer collects it once per row and never asks whether the * line was rendered. So the condition was simply dropped, and the typed file * disagreed with the text rendering of the same config: * * text 1 / X / 2 / 3 / 4END * parquet id=[1,2,3,4] tail=['END','END','END','END'] * only_first=['X','X','X','X'] * * `each=` on a line holding a named `` is refused one function over * (TDC209) for exactly this reason — "typed columns are collected once per * card". This is the same sentence about a different attribute. * * The working spelling is to put the condition on the SEQUENCE rather than on * the column: a `` that produces nothing leaves the cell empty, and * an empty cell in a nullable column is a NULL — which is what a missing value * means in a typed file. */ export declare const CONDITIONAL_COLUMN_HINT: string; export declare function checkDataColumnConditional(attrList: readonly AttrContext[], dAttrs: Record, diagnostics: Diagnostic[]): void; export declare function checkDataColumnType(attrList: readonly AttrContext[], dAttrs: Record, diagnostics: Diagnostic[]): void; //# sourceMappingURL=column-type.d.ts.map