import { SvelteComponent } from 'svelte'; import type { SvelteHTMLElements } from 'svelte/elements'; import { IconifyIcon } from '@iconify/types'; import { IconifyJSON } from '@iconify/types'; import { IconifyTransformations } from '@iconify/types'; /** * Add collection to storage, allowing to call icons by name * * @param data Icon set * @param prefix Optional prefix to add to icon names, true (default) if prefix from icon set should be used. */ export declare function addCollection(data: IconifyJSON, prefix?: string | boolean): void; /** * Add icon to storage, allowing to call it by name * * @param name * @param data */ export declare function addIcon(name: string, data: IconifyIcon): void; /** * Properties for element that are mentioned in render.ts */ declare interface IconifyElementProps { id?: string; style?: string; } export { IconifyIcon } /** * Icon customisations */ export declare type IconifyIconCustomisations = IconifyIconCustomisations_2 & { rotate?: string | number; inline?: boolean; }; /** * Icon customisations */ declare interface IconifyIconCustomisations_2 extends IconifyTransformations, IconifyIconSizeCustomisations {} /** * Icon properties */ declare interface IconifyIconProps extends IconifyIconCustomisations { icon: IconifyIcon | string; mode?: IconifyRenderMode; color?: string; flip?: string; } /** * Icon size */ export declare type IconifyIconSize = null | string | number; /** * Dimensions */ declare interface IconifyIconSizeCustomisations { width?: IconifyIconSize; height?: IconifyIconSize; } export { IconifyJSON } /** * Icon render mode * * 'style' = 'bg' or 'mask', depending on icon content * 'bg' = with style using `background` * 'mask' = with style using `mask` * 'svg' = */ export declare type IconifyRenderMode = 'style' | 'bg' | 'mask' | 'svg'; /** * Mix of icon properties and HTMLElement properties */ export declare type IconProps = IconifyElementProps & IconifyIconProps; /** * Svelte component */ export default class Icon extends SvelteComponent< SvelteHTMLElements['svg'] & IconProps & Record<`data-${string}`, string> > {}