import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser'; import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export interface KbqIconOptions { viewBox?: string; withCredentials?: boolean; } export declare class KbqIconRegistry { private readonly sanitizer; private readonly document; private readonly httpClient; private readonly iconsConfig; private readonly resolvers; /** Individual icon configs, keyed by "namespace:name". */ private readonly iconConfigs; /** Icon-set configs per namespace. */ private readonly iconSetConfigs; /** In-progress URL fetches to dedupe concurrent requests. */ private readonly inProgressUrlFetches; /** Cached parsed SVG sets, keyed by URL string. */ private readonly cachedIconSets; constructor(); /** Registers an SVG icon by URL in the default namespace. */ addSvgIcon(name: string, url: SafeResourceUrl, options?: KbqIconOptions): void; /** Registers an SVG icon from an inline HTML string in the default namespace. */ addSvgIconLiteral(name: string, literal: SafeHtml, options?: KbqIconOptions): void; /** Registers an SVG icon by URL under the given namespace. */ addSvgIconInNamespace(namespace: string, name: string, url: SafeResourceUrl, options?: KbqIconOptions): void; /** Registers an SVG icon from an inline HTML string under the given namespace. */ addSvgIconLiteralInNamespace(namespace: string, name: string, literal: SafeHtml, options?: KbqIconOptions): void; /** Registers an SVG sprite file in the default namespace. Icons are looked up by their `symbol id`. */ addSvgIconSet(url: SafeResourceUrl, options?: KbqIconOptions): void; /** Registers an SVG sprite file under the given namespace. Duplicate URLs are silently ignored. */ addSvgIconSetInNamespace(namespace: string, url: SafeResourceUrl, options?: KbqIconOptions): void; /** * Emits a cloned SVGElement for the given name. * Accepts "namespace:name" syntax. */ getNamedSvgIcon(name: string, namespace?: string): Observable; private cacheIcon; private loadIcon; private registerIconSet; private loadIconFromSets; private loadIconSet; private extractIconFromSet; private svgElementFromText; private fetchUrl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }