/** * Which of the three readings a `` body has. * * The body says which, and the three mean genuinely different things: * * - **simple** — one unnamed `` and nothing else. The classic sequence. * - **compound** — every `` named. Several columns, `Name.Field` each, * and no value of its own. * - **composed** — anything else: an unnamed `` beside something, or a * `` literal. The unnamed gens and the literals concatenate into the * sequence's own value; named gens stay fields beside it. * * Kept apart from the validator because the config builder asks the same * question, and a rule about what a body MEANS that two files answer separately * is a rule that drifts. */ import type { Diagnostic } from '../errors/index.js'; import type { OpenCloseElementContext, SelfClosingElementContext } from '../generated/TDCParser.js'; export type SequenceShape = 'simple' | 'compound' | 'composed'; export declare function sequenceShape(named: readonly boolean[], hasLiteral: boolean): SequenceShape; /** * A `` inside a `` reads `name` and nothing else. * * It is a literal, or — with a name — a constant field. An output type belongs * on the `` in the ``, where the column is actually emitted, and * silently dropping one here is the failure this whole reading was introduced to * end. */ export declare function checkSequenceDataAttrs(seqEl: OpenCloseElementContext, diagnostics: Diagnostic[]): void; /** * The values a sequence will actually produce, when the config says so outright. * * Only a body that is one unnamed `` qualifies — * a text generator's list is always literal, never a file or a pack, so what is * written is what comes out. * * Unless something rewrites it. `case="upper"` turns `Male` into `MALE` and * `mask="xxxx"` turns `Female` into `Fema`, so a comparison against the written * word would then be wrong in both directions — flagging a config that works and * accepting one that never matches. `repeat=` makes the value a list rather than * a word. Any of the three, and the values stop being knowable from here. */ export declare function finiteTextValues(shape: SequenceShape, gens: readonly (OpenCloseElementContext | SelfClosingElementContext)[]): readonly string[] | undefined; //# sourceMappingURL=sequence-body.d.ts.map