import type { IconSize } from './mud-icon.types'; /** * Icon — renders an inline SVG fetched on-demand from per-size asset files. * * Names follow the Material Symbols convention: append `-filled` to the base name * to request the filled variant (e.g. `check` outlined vs `check-filled`). * * When the exact `size`/`name` combination is missing from the manifest, the * provider falls back to the closest larger size (preferred) and then to the * largest smaller size before giving up. * * @element mud-icon */ export declare class MudIcon { /** * Icon identifier (kebab-case). Suffix `-filled` selects the filled variant. * @default 'check' */ name: string; /** * Pixel size, aligned with Figma Foundations: 12 / 16 / 20 / 24. * @default 16 */ size: IconSize; /** * Color token suffix (mapped to `--color-{value}`), or `currentColor` to inherit text color. * @default 'currentColor' */ color: string; /** * Enables interactive treatment (cursor, hover, focus ring, keyboard activation). * @default false */ interactive: boolean; /** * Reflects to `[disabled]` and visually disables the icon. * @default false */ disabled: boolean; /** * Accessible label. When provided, the icon is announced; when omitted it is decorative. */ ariaLabel?: string; private svgElement; host: HTMLMudIconElement; private svgCacheKey; private handleKeyDown; onNameChange(newVal: string, oldVal: string): Promise; onSizeChange(newVal: IconSize, oldVal: IconSize): Promise; componentWillLoad(): Promise; componentWillRender(): void; componentDidRender(): void; private loadSvg; private get isKnownName(); render(): any; }