import * as lit_directive_js from 'lit/directive.js'; import { DirectiveResult } from 'lit/directive.js'; import { LitElement } from 'lit'; type DevIconData = { slug: string; style: 'original' | 'plain' | 'line' | 'original-wordmark' | 'plain-wordmark' | 'line-wordmark'; attrs: Record; html: string; }; /** Makes icons usable by name: ``. */ declare const register: (...icons: DevIconData[]) => void; /** Raw SVG markup for an icon. */ declare const iconSvg: (icon: DevIconData, label?: string) => string; /** For use inside your own `html` templates: `${iconTemplate(Rocket)}`. */ declare const iconTemplate: (icon: DevIconData, label?: string) => DirectiveResult; /** * `` Lit element. Renders into light DOM so the SVG inherits * page styles. Icons resolve from the registry or the `icon` property. */ declare class DevIconElement extends LitElement { static properties: { name: { type: StringConstructor; }; variant: { type: StringConstructor; }; label: { type: StringConstructor; }; icon: { attribute: boolean; }; }; name?: string; variant?: DevIconData['style']; label?: string; icon?: DevIconData; protected createRenderRoot(): this; protected render(): DirectiveResult; } /** Defines the element (browser only). */ declare const defineDevIcon: (tag?: string) => void; export { type DevIconData, DevIconElement, defineDevIcon, iconSvg, iconTemplate, register };