import { type CSSResultGroup, type HTMLTemplateResult } from 'lit';
import { ShoelaceElement } from '../../internal/shoelace-element';
import type { GraphicElementName } from './graphic-element.library';
/**
* @summary Graphic elements can be used as decorative icons.
* @documentation
*
* @event dsa-load - Emitted when the graphic element has loaded.
* @event dsa-error - Emitted when the graphic element fails to load due to an error.
*
*/
export default class DSAGraphicElement extends ShoelaceElement {
static styles: CSSResultGroup;
private initialRender;
/** Given a URL, this function returns the resulting SVG element or an appropriate error symbol. */
private resolveIcon;
private svg;
/** The name of the icon to draw. Available names depend on the icon library being used. */
name: GraphicElementName | '';
/** The graphic element's theme variant. */
variant: 'on-base' | 'on-light-brand' | 'on-contrasted-brand' | 'on-purple-background';
firstUpdated(): void;
setIcon(): Promise;
render(): SVGElement | HTMLTemplateResult | null;
}
declare global {
interface HTMLElementTagNameMap {
'dsa-graphic-element': DSAGraphicElement;
}
}