export type Library = '@ant-design/icons-svg' | '@fortawesome/free-brands-svg-icons' | '@fortawesome/free-regular-svg-icons' | '@fortawesome/free-solid-svg-icons' | 'phosphor/bold' | 'phosphor/duotone' | 'phosphor/fill' | 'phosphor/light' | 'phosphor/regular' | 'phosphor/thin'; export type ResourceObject = string | { library: Library; src: string; }; export type Resources = Record; export interface IconComponent { attrs?: Record; children?: IconComponent | IconComponent[]; key?: number; tag: 'svg' | 'path' | 'rect' | 'circle'; } export interface ChildComponent extends Omit { tag: 'path' | 'rect' | 'circle'; } export interface SvgComponent extends IconComponent { children?: ChildComponent | ChildComponent[]; tag: 'svg'; } export declare function isResourceKey(input: unknown): input is Library; export declare function isResourceObject(input: unknown): input is Exclude; export declare function toArray(input: T | T[]): T[]; export declare function importIcon(selector: string, resource: ResourceObject): Promise;