/** * Extract `` declarations from an `` element's content. * * Each `` tag produces one of these specs depending on how its * `` children are written: * * - Exactly one anonymous `` child → simple sequence (`gen`). * - Two or more named `` children → compound sequence * (`gens`). Field order is preserved. * - Any `` children → conditional sequence (`conditional`). * * A standalone env-level `` tag (sibling of ``) * produces a mix sequence (`mixSpec`) — its `` branches are * distributed across the rows by `percent`. * * Structural validation (missing name, missing gen, mixed named/unnamed, * duplicate field names, …) is delegated to the validator — this * extractor is lenient and produces a best-effort spec so the render * path can assume a well-formed tree. */ import type { OpenCloseElementContext } from '../generated/TDCParser.js'; import type { AssertSpec } from './assert.js'; import type { SequenceSpec } from './types.js'; export declare function extractSequenceSpecs(env: OpenCloseElementContext | undefined): SequenceSpec[]; /** * Env-level `` groups — the wrapped sequences must produce different * values from each other per row (e.g. birth-city ≠ live-city). Sequence * granularity; the field-granularity `` inside one sequence is * handled by `collectSequenceGens`. */ export declare function extractEnvDistinctGroups(env: OpenCloseElementContext | undefined): string[][]; /** * Env-level `` groups — the TUPLE of the wrapped sequences must be unique * across all rows (e.g. every (First, Last) pair distinct). The across-rows * twin of env-level ``. */ export declare function extractEnvUniqGroups(env: OpenCloseElementContext | undefined): string[][]; /** * Env-level `` and ``, in document order. * * A sibling of `` and `` because, like them, it states something * the run as a whole must satisfy. Self-closing, so the generic * `selfClosingElement` rule already parses it and no grammar changed. */ export declare function extractAsserts(env: OpenCloseElementContext | undefined): AssertSpec[]; //# sourceMappingURL=extract.d.ts.map