import { type IconName, type IconSize, type IconVariant } from './mud-icon.types'; /** * Icon — renders an inline SVG fetched on-demand from the icon assets folder. * * One drawing per style covers every size: `variant` selects the style * directory (`outlined` / `filled`) and `size` sets the rendered box. * * Not every icon is drawn in both styles. When the requested `variant` is * missing, the available one is rendered and a warning is logged. * * @element mud-icon */ export declare class MudIcon { /** * Icon identifier (kebab-case), one of `ICON_NAMES`. */ name: IconName; /** * Icon style. Falls back to the drawing that exists when the icon has only one. * @default 'outlined' */ variant: IconVariant; /** * Pixel size, aligned with Figma Foundations: 16 / 20 / 24 / 32. * @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; private svgElement; /** * The host's `aria-label` (attribute or native `ariaLabel` property). When * set, the icon is announced; when omitted it is decorative. */ private resolvedAriaLabel?; host: HTMLMudIconElement; private svgCacheKey; private stopAriaLabel?; private handleKeyDown; onNameChange(newVal: IconName, oldVal: IconName): Promise; onVariantChange(newVal: IconVariant, oldVal: IconVariant): Promise; componentWillLoad(): Promise; connectedCallback(): void; disconnectedCallback(): void; componentWillRender(): void; componentDidRender(): void; private loadSvg; private get isKnownName(); render(): any; }