/** * UtilityIndex — the `ed-u-*` utility classes, made searchable (#936/#1647). * * Utilities live as SCSS in the tokens package (`core/scss/utilities/*.scss`, * shipped compiled as `core/css/utilities.css` since #1477). Until this index * existed they were invisible to `eddie_search` — an agent composing a page * could not discover `ed-u-margin-block-end-*` or `ed-u-is-vishidden` without * reading template source, which is how utility knowledge stayed tribal. * * Each entry carries the category (its source file), and margin/padding * utilities carry the #1396 caveat: a custom element defaults to * `display: inline`, which silently swallows block margins, so the utility * needs a block-level host (`ed-u-display-block` is the companion class). * Under the spacing doctrine (docs/SPACING.md) spacing utilities are for * exceptions — rhythm-owning containers are the standard mechanism — and the * intent strings say so. */ export interface UtilityEntry { /** The full class name, e.g. `ed-u-margin-block-end-xl` */ className: string; /** Source category — the utilities file it comes from (spacing, display, …) */ category: string; /** What it does / when to reach for it */ intent: string; /** Usage caveats an agent must know before applying it */ caveats: string[]; } export declare class UtilityIndex { private utilities; /** Scan the tokens package's utility SCSS for `.ed-u-*` class selectors. */ build(rootDir: string): Promise; private deriveIntent; getAll(): UtilityEntry[]; search(query: string): UtilityEntry[]; toJSON(): Record; static fromJSON(data: Record): UtilityIndex; } //# sourceMappingURL=utility-index.d.ts.map