/** * @license * Copyright Endlessjs. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { ElFontIconPackParams, ElIconPack, ElIconPackParams, ElIcons } from './icon-pack'; import { ElFontIcon, ElIcon, ElSvgIcon } from './icon'; export declare class ElIconDefinition { name: string; type: string; pack: string; icon: ElIcon; } /** * This service allows to register multiple icon packs to use them later within `` component. */ export declare class ElIconLibraries { protected packs: Map; protected defaultPack: ElIconPack; /** * Registers new Svg icon pack * @param {string} name * @param {ElIcon} icons * @param {ElIconPackParams} params */ registerSvgPack(name: string, icons: ElIcons, params?: ElIconPackParams): void; /** * Registers new font pack * @param {string} name * @param {ElIconPackParams} params */ registerFontPack(name: string, params?: ElFontIconPackParams): void; /** * Returns pack by name * @param {string} name */ getPack(name: string): ElIconPack; /** * Sets pack as a default * @param {string} name */ setDefaultPack(name: string): void; /** * Returns Svg icon * @param {string} name * @param {string} pack * * @returns ElIconDefinition */ getSvgIcon(name: string, pack?: string): ElIconDefinition; /** * Returns Font icon * @param {string} name * @param {string} pack * * @returns ElIconDefinition */ getFontIcon(name: string, pack?: string): ElIconDefinition; /** * Returns an icon * @param {string} name * @param {string} pack * * @returns ElIconDefinition */ getIcon(name: string, pack?: string): ElIconDefinition; protected createSvgIcon(name: string, content: ElIcon | string, params: ElIconPackParams): ElSvgIcon; protected createFontIcon(name: string, content: ElIcon | string, params: ElFontIconPackParams): ElFontIcon; protected getPackOrThrow(name: string): ElIconPack; protected getDefaultPackOrThrow(): ElIconPack; protected getIconFromPack(name: string, pack: ElIconPack, shouldThrow?: boolean): ElIcon | string; }