/** * Glyph markup validation + Trusted-Types-safe parsing for ds-icon. * * Glyphs normally come from the trusted @ds-mo/icons build pipeline, but * `registerIcons` accepts arbitrary app-provided strings and injection is a * sink — so every glyph is validated at the render boundary. Injection uses * parsed DOM nodes (never innerHTML), which keeps ds-icon working under a * strict CSP with `require-trusted-types-for 'script'`. */ /** Structural view of an element so the walk is unit-testable without a DOM. */ export interface IconSvgElementLike { localName: string; getAttributeNames(): string[]; getAttribute(name: string): string | null; children: ArrayLike; } /** True when `root` is an `` whose whole tree passes validation. */ export declare function isValidIconSvgRoot(root: IconSvgElementLike | null): boolean; /** * Parse + validate glyph markup. Returns a detached `` element ready to * append (appending adopts it into the document), or `null` when the markup * is not well-formed XML, not rooted at ``, or fails validation — * ds-icon renders an empty fixed-size box in that case. */ export declare function parseIconSvg(svg: string): SVGElement | null; //# sourceMappingURL=icon-svg.d.ts.map