/** * `` and what it holds: ``s, and ``s of them. * * Lives apart from `validate.ts` because that file is at its 1000-line ceiling, and because the * output side is a unit of its own: a line's text, its conditions, and the names they may read. * * ── Scope ────────────────────────────────────────────────────────────────────────────────────── * * A `` puts its element in scope for every line inside it, nested groups * included, so `${{Depts.name}}` and `if="Doctors.dept.id == Depts.id"` are names there. The scope * is carried down as a list: what the enclosing groups publish, plus what the line itself walks. */ import { type Diagnostic } from '../errors/index.js'; import type { AttrContext, OpenCloseElementContext } from '../generated/TDCParser.js'; /** What the block checks need from the validator's context, declared structurally. */ export interface BlockCheckCtx { readonly diagnostics: Diagnostic[]; readonly inject: string; readonly declaredSequences: readonly string[]; readonly repeatingSequences: readonly string[]; readonly poolFields: ReadonlyMap; readonly poolReferences: readonly string[]; readonly listSeparators: ReadonlyMap; rememberExpression(attr: AttrContext, expr: string, eachBuiltins?: readonly string[]): void; } /** * The lines and groups of every fixture — ``, `` and the rest — checked as a * block's are: names, conditions, filters, each=. * * Nothing did that before, in any of the five. A `${{Missing}}` in a header was printed as written, * a condition that does not parse passed `check`, and a name a condition misspelt read as a word. * Run after ``, so every sequence a fixture may name is already declared. */ export declare function checkFixtures(envEl: OpenCloseElementContext, fixtureNames: readonly string[], ctx: BlockCheckCtx): void; export declare function checkBlock(blockEl: OpenCloseElementContext, ctx: BlockCheckCtx): void; //# sourceMappingURL=block.d.ts.map