import { Color } from '../types'; import { DefineComponent } from 'vue'; import { HTMLAttributes } from 'svelte/elements'; export interface IconProps { /** Icon source path */ src: string; /** Icon color */ color?: Color; /** Icon size */ size?: 's' | 'm' | 'l'; /** Accessible name. If not provided, icon is ignored by screen readers */ alt?: string; children?: any; } declare module 'vue' { interface GlobalComponents { 'pyro-icon': DefineComponent; } } interface PyroIconPreact extends Omit, IconProps { } declare module 'preact/jsx-runtime' { namespace JSX { interface IntrinsicElements { 'pyro-icon': PyroIconPreact; } } } interface PyroIconSvelte extends Omit, keyof IconProps>, IconProps { } declare module 'svelte/elements' { interface SvelteHTMLElements { 'pyro-icon': PyroIconSvelte; } } declare module 'solid-js' { namespace JSX { interface IntrinsicElements { 'pyro-icon': PyroIconPreact; } } } export {};