import { type Diagnostic } from '../errors/index.js'; import type { DataElementContext } from '../generated/TDCParser.js'; /** * `${{Nmae}}` with no sequence of that name used to reach the OUTPUT verbatim — * the seven characters `${{Nmae}}` landed in the data. In CSV that is at least * visibly wrong; in Parquet it goes into a typed UTF8 column and reads like a * legitimate string, so nothing downstream can tell. A guide in this repo * referenced an undeclared `${{Client}}` and shipped 50 000 rows that way. * * Only checked in the OUTPUT BLOCK, where every sequence has been registered. * A `` inside `` is visited mid-walk, when later declarations do not * exist yet, and flagging there would invent errors for valid configs. * * Escape hatch for deliberately emitting `${{…}}` (generating a config, a * GitHub Actions file, a Handlebars template): give `` a different * `inject` pattern. This check stands down whenever inject is not the default, * so that case is already covered. */ /** * The same check for a `` written inside a ``. * * It could not be made where the tag is walked: a case body may name a column * declared BELOW it, and every declaration is known only once the walk is done. * So the node is put aside and answered here, exactly as an `if=` expression is * — and the diagnostics are spliced back where the tag stood, so a reader gets * them in the order the file reads. */ export declare function runPendingCaseData(pending: readonly { at: number; node: DataElementContext; text: string; }[], diagnostics: Diagnostic[], inject: string, declared: readonly string[], records: readonly string[]): void; export declare function checkBlockDataRefs(text: string, node: DataElementContext, inject: string, declared: readonly string[], diagnostics: Diagnostic[], /** `_item` / `_item_id` exist only while rendering an `each=` line. */ eachBuiltins?: readonly string[], /** * Names that are a RECORD rather than a value — a `` * reference. `${{Doctor}}` names something real and still prints nothing, * which is the worst shape a failure can take, so it is named here. */ records?: readonly string[], /** Every list by the path that names it, and its separator — for `| json` (TDC312). */ lists?: ReadonlyMap, /** The lists this line and its groups walk with `each`, whose names are elements here. */ walked?: readonly string[]): void; export declare function checkInterpolationFilters(text: string, node: DataElementContext, inject: string, diagnostics: Diagnostic[]): void; //# sourceMappingURL=data-refs.d.ts.map