import { InjectionToken } from '@angular/core'; export interface FaviconsConfig { icons: IconsConfig; cacheBusting?: boolean; } export interface IconsConfig { [name: string]: IconConfig; } export interface IconConfig { type: string; href: string; isDefault?: boolean; } export declare let BROWSER_FAVICONS_CONFIG: InjectionToken; /** * Abstract class that acts as both interface for implementation and as the dependency-injection */ export declare abstract class FaviconsService { abstract activate(name: string): void; abstract reset(): void; } /** * Provide the browser-oriented implementation of the Favicons class */ export declare class BrowserFavicons implements FaviconsService { protected elementId: string; protected icons: IconsConfig; protected useCacheBusting: boolean; /** * initialize the Favicons service. */ constructor(config: FaviconsConfig); /** * Active favicon with given identifier * * @param name favicon name */ activate(name: string): void; /** * Activate the default favicon (with isDefault set to True) */ reset(): void; /** * Inject the favicon element into the document header * * @param type type of icon (.png, .jpeg, etc) * * @param href location */ protected addNode(type: string, href: string): void; /** * Return an augmented HREF value with a cache-busting query-string parameter * * @param href location */ protected cacheBustHref(href: string): string; /** * I remove any favicon nodes that are not controlled by this service */ protected removeExternalLinkElements(): void; /** * Remove the favicon node from the document header */ protected removeNode(): void; /** * Remove existing favicon node and inject a new favicon node with the give * elemet settings * * @param type type of favicon * @param href location */ protected setNode(type: string, href: string): void; }