/** * `parent="Name"` and `parent="Name.Value"` — what a child may be built over. * * A parent selects rows by the VALUE it produced: `parent="Gender.Male"` is * "the rows where Gender came out Male". Two things follow, and both used to be * found only when the run was already underway. * * The parent has to exist by the time the child is declared, because the rows it * selects are what the child is built over — and it has to have a value at all. * A compound sequence is a group of fields and produces none, so no row could * ever match it; the engine discovered that mid-generation and reported the * parent as "unknown", sending the reader to look for a name declared right * above. */ import { type Diagnostic } from '../errors/index.js'; import type { OpenCloseElementContext, SelfClosingElementContext } from '../generated/TDCParser.js'; export interface ParentRefContext { readonly diagnostics: Diagnostic[]; /** Every name declared so far, in declaration order. */ readonly declared: readonly string[]; /** Of those, the compounds — the ones with no value of their own. */ readonly valueless: readonly string[]; /** What each sequence produces, where the config says outright. */ readonly finiteValues?: ReadonlyMap; } export declare function checkParentRef(el: OpenCloseElementContext | SelfClosingElementContext, ctx: ParentRefContext): void; //# sourceMappingURL=parent-ref.d.ts.map