import { WebComponent, WebComponentDefinitionOptions } from './WebComponent'; /** * Basic SVG icon. * * If you plan to define {@link SvgImage} under a non-default tag, define it before creating SVG icons. Otherwise, * an error will be thrown. * * @example * * // Import SVG source code: * import imgSrc from "@/assets/image.svg?src"; * * // Import web component: * import { SvgIcon } from "vite-awesome-svg-loader/web-components-integration"; * * // Define a custom element: * SvgIcon.define(); * * // Create icon: * const icon = new SvgIcon(); * // or: * const icon = document.createElement("svg-icon"); * * // Assign SVG source code to the image: * icon.src = imgSrc; * * // Stylize icon: * icon.color = "red"; * icon.size = "24px"; * icon.colorTransition = "0.2s ease-out"; * * // Add image to the DOM: * document.body.appendChild(icon); */ export declare class SvgIcon extends WebComponent { static DEFAULT_COLOR_TRANSITION: string; static readonly props: (string | { name: string; default: string; })[]; /** * Image source code */ src?: string; /** * Icon size. Empty string unsets size. */ size?: string; /** * Icon color. Empty string unsets color. */ color?: string; /** * Icon color transition. Empty string unsets transition. * * To set default value, use {@link DEFAULT_COLOR_TRANSITION}. */ colorTransition: string; /** * Wrapped `SvgImage` element */ private _svgImage; constructor(); connectedCallback(): void; attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; static define(options?: WebComponentDefinitionOptions): void; }