/** * Build the **slot redline** layer for a component — the spacing spec. * * Where the greenlines annotate accessibility, the redlines annotate **layout**: * for each node that carries layout geometry, a {@link Redline} records its * bounding box plus the padding it insets its content by, the gap it spaces its * children by (`Arrangement.spacedBy`), and its corner radius. So a component and * its slots each get a box, and the padding *between* slots is captured as a * number — the redline a designer reads off a spec. * * The data is already on the {@link SemanticTree} the renderer produced * (`@design-parity/candidate` maps `compose/semantics`' per-node `padding` / `gap` * / `cornerRadius` into `tokens.spacing` / `tokens.radius`); this module just * surfaces it as a flat, importable layer. Pure functions over core types. * * Coverage note: this walks the **semantics** tree, so a slot that carries no * semantics (a decorative icon, a spacer) produces no node and so no redline. * Full slot coverage needs the layout/placeable tree — a renderer-side follow-up. */ import type { SemanticTree } from "@design-parity/core"; import type { Redline } from "./types.js"; /** * Walk a {@link SemanticTree} and emit a {@link Redline} for every node that * carries layout geometry (a box plus padding / gap / corner radius), in * depth-first order — the component box first, then its slots. */ export declare function buildRedlines(semantics: SemanticTree | undefined): Redline[]; //# sourceMappingURL=redlines.d.ts.map