import type { ContextResolver, IconRegistry, Manifest, Renderer } from '../core/domain'; /** * The public Web Component, ``. Thin per ADR-0002 principle * 6: resolves attributes, asks the Core, injects the result, no * business rules of its own. Full design in ADR-0011, amended by * ADR-0012, error handling corrected by ADR-0013. * * Dependencies (`registry`, `renderer`, `isolationPolicy`, and * `manifest`) are static, class-level, configured once before any * `` connects, see ADR-0012. `manifest` is a fourth static * beyond the three ADR-0012 named explicitly: a synchronous "is this * id even in the manifest" check is needed before any async load * starts, and `IconRegistry.has()` checks the Catalog (what is * loaded), not the Manifest (what exists), see ADR-0004's Manifest vs * Catalog boundary, so the element needs direct read access to the * Manifest itself for that one check. * * Never throws, see ADR-0013: `connectedCallback` and * `attributeChangedCallback` are Custom Element Reactions, the HTML * spec reports exceptions thrown inside them rather than propagating * them to the caller (`appendChild`, `setAttribute`), so a `throw` * here would be visible but never catchable, no better than reporting * it directly. Every failure, validation or load, goes through * {@link reportError}: `console.error` plus a bubbling * `oxide-icon-error` event, and renders nothing. */ export declare class OxIconElement extends HTMLElement { static registry: IconRegistry | undefined; static renderer: Renderer | undefined; static isolationPolicy: ContextResolver | undefined; static manifest: Manifest | undefined; static get observedAttributes(): readonly string[]; constructor(); connectedCallback(): void; attributeChangedCallback(): void; /** * Every failure mode, synchronous validation or asynchronous load, * is caught here and handled the same way, see ADR-0013. */ private render; /** * Single error path for every failure mode, see ADR-0013: never * throws, always reports and renders nothing. */ private reportError; /** * Context resolution per ADR-0012: own attributes checked first * (`inherited: false`), then ancestors (`inherited: true`), then * `null`. Only ever walks `parentElement`, never re-checks a * subtree, and never re-runs on ancestor attribute changes, a * documented v1 limitation, see ADR-0011. */ private resolveContext; private readIsolationMode; private readRenderOptions; private clear; }