import * as lit_directive_js from 'lit/directive.js'; import { DirectiveResult } from 'lit/directive.js'; import { LitElement } from 'lit'; type AwsIconData = { slug: string; style: 'architecture-group' | 'architecture-service' | 'category' | 'resource'; attrs: Record; html: string; }; /** Makes icons usable by name: ``. */ declare const register: (...icons: AwsIconData[]) => void; /** Raw SVG markup for an icon. */ declare const iconSvg: (icon: AwsIconData, label?: string) => string; /** For use inside your own `html` templates: `${iconTemplate(Rocket)}`. */ declare const iconTemplate: (icon: AwsIconData, 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 AwsIconElement extends LitElement { static properties: { name: { type: StringConstructor; }; variant: { type: StringConstructor; }; label: { type: StringConstructor; }; icon: { attribute: boolean; }; }; name?: string; variant?: AwsIconData['style']; label?: string; icon?: AwsIconData; protected createRenderRoot(): this; protected render(): DirectiveResult; } /** Defines the element (browser only). */ declare const defineAwsIcon: (tag?: string) => void; export { type AwsIconData, AwsIconElement, defineAwsIcon, iconSvg, iconTemplate, register };