import { PropertyValues, LitElement } from 'lit'; import { Size } from '../internal'; import { IconName, IconSVG } from './icons.js'; export type { IconName, IconSVG } from './icons.js'; declare global { var _NVE_SSR_ICON_REGISTRY: Record | undefined; } /** * @element nve-icon * @since 0.1.3 * @entrypoint \@nvidia-elements/core/icon * @description An icon is a graphic symbol designed to visually show the purpose of an interface element. * @cssprop --color * @cssprop --width * @cssprop --height * @slot - Custom SVG content to override the named icon * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img */ export declare class Icon extends LitElement { #private; /** * Visual treatment to represent current support status. */ status?: 'warning' | 'danger' | 'success' | 'accent'; /** * Controls the bounding box size of the icon given a t-shirt style value. */ size?: Size | 'xs' | 'xl'; /** * Sets the direction of the icon. Only supported by expand-panel/collapse-panel (horizontal axis) and arrow/caret/chevron icons (4-directions) */ direction?: 'up' | 'down' | 'left' | 'right'; /** * The name of the icon SVG sprite to render. */ name?: IconName; private svg; static styles: import('lit').CSSResult[]; static readonly metadata: { tag: string; version: string; }; static _icons: { [key: string]: IconSVG; }; private static get _iconsRegistry(); private static set _iconsRegistry(value); private static get registeredIcon(); /** @private */ _internals: ElementInternals; render(): import('lit').TemplateResult<1>; connectedCallback(): void; disconnectedCallback(): void; static add(icons: { [key: string]: IconSVG; }): Promise; static alias(aliases: { [key: string]: IconName | string; }): void; updated(props: PropertyValues): Promise; } export declare function mergeIcons(RegisteredIcon: typeof Icon): void;