import { HttpClient } from '@angular/common/http';
import { Icon } from './meta';
import * as i0 from "@angular/core";
interface RegisteredIcon {
name: string;
xml?: string;
url?: string;
requested: boolean;
}
/**
* Icons registry.
*
* ```typescript
* import { IconsRegistry } from 'icong';
* ...
* constructor(
* private iconsRegistry: IconsRegistry,
* ) {}
* ...
* this.iconsRegistry.add({name: 'home', xml: '
* ```
*/
export declare class IconsRegistry {
#private;
private http;
private platformId?;
constructor(http: HttpClient, platformId?: any);
get isBrowser(): boolean;
get icons(): RegisteredIcon[];
get reqIcons$(): import("rxjs").Observable;
/**
* Add icons to registry.
*/
add(icon: Icon | Icon[]): void;
/**
* @internal
*
* Request icon to load (if needed) and draw into the host.
*/
req(name: string): void;
private updateReqIcons;
private loadIcon;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}
export {};