import * as i0 from '@angular/core'; import { InjectionToken, PipeTransform, Injector } from '@angular/core'; import * as i1 from '@angular/common'; import * as i2 from '@angular/cdk/portal'; import { ComponentPortal } from '@angular/cdk/portal'; import * as i3 from '@cisstech/nge/pipes'; interface DefaultIcon { /** * Name of the icon, e.g. 'src' */ name: string; } interface FileIcon { /** * Name of the icon, e.g. 'javascript' */ name: string; /** * Define the file extensions that should use this icon. * E.g. ['js'] */ fileExtensions?: string[]; /** * Define if there are some static file names that should apply this icon. * E.g. ['sample.js'] */ fileNames?: string[]; } interface FileTheme { /** * Define the default icon for folders. */ defaultIcon: DefaultIcon; /** * Defines all folder icons. */ icons: FileIcon[]; } /** * Defines file icons */ declare const FILE_THEME: FileTheme; interface FolderIcon { /** * Name of the icon, e.g. 'src' */ name: string; /** * Define the folder names that should apply the icon. * E.g. ['src', 'source'] */ folderNames: string[]; } interface FolderTheme { /** * Define the default icon for folders in a theme. */ defaultIcon: DefaultIcon; /** * Icon for root folders. */ rootFolder?: DefaultIcon; /** * Defines folder icons for specific folder names. */ icons?: FolderIcon[]; } /** * Defines folder icons */ declare const FOLDER_THEME: FolderTheme; declare type IconTypes = 'codicon' | 'fa' | 'img' | 'icongr'; interface NgeUiIconConfig { /** Base url where file icons are store (default to `assets/vendors/nge/icons/files/`) */ fileIconsBaseUrl: string; /** Define extra file icons. (add new icon or override an existing one) */ extraFileIcons?: FileIcon[]; /** Define extra folder icons. (add new icon or override an existing one) */ extraFolderIcons?: FolderIcon[]; } interface Icon { type: IconTypes; } interface ImgIconOptions { alt?: string; } interface IcongrOptions { alt?: string; } interface FileIconOptions { alt?: string; isRoot?: boolean; expanded?: boolean; isDirectory?: boolean; } declare class FaIcon implements Icon { readonly name: string; readonly type = "fa"; constructor(name: string); } declare class CodIcon implements Icon { readonly name: string; readonly type = "codicon"; constructor(name: string); } declare class ImgIcon implements Icon { readonly src: string; readonly options?: ImgIconOptions | undefined; readonly type = "img"; constructor(src: string, options?: ImgIconOptions | undefined); } /** * https://icongr.am */ declare class IcongrIcon implements Icon { readonly name: string; readonly options?: IcongrOptions | undefined; readonly type = "icongr"; /** * Creates new IcongrIcon * @param name type name size=48&color=FF0000. Example `material account` * @param options extra options */ constructor(name: string, options?: IcongrOptions | undefined); } declare const ICON_TOKEN: InjectionToken; declare const NGE_UI_ICON_CONFIG: InjectionToken; declare class IconCodIconComponent { private readonly injector; readonly icon: i0.InputSignal; protected readonly resolvedIcon: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IconFaComponent { private readonly injector; readonly icon: i0.InputSignal; protected readonly resolvedIcon: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IconIcongrComponent { private readonly injector; readonly icon: i0.InputSignal; protected readonly resolvedIcon: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IconImgComponent { private readonly injector; readonly icon: i0.InputSignal; protected readonly resolvedIcon: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IconComponent { readonly icon: i0.InputSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IconPipe implements PipeTransform { private readonly injector; transform(icon?: Icon): ComponentPortal; createInjector(icon: Icon): Injector; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IconFaPipe implements PipeTransform { transform(name: string): FaIcon; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IconFilePipe implements PipeTransform { private readonly service; transform(fileName: string, options?: FileIconOptions): ImgIcon; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IconIcongrPipe implements PipeTransform { transform(name: string, options?: IcongrOptions): IcongrIcon; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IconCodiconPipe implements PipeTransform { transform(name: string): CodIcon; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class NgeUiIconModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class NgeIconService { private readonly config; fromFileName(fileName: string, options: FileIconOptions): ImgIcon; private findFileIcon; private findFolderIcon; private basename; private extname; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { CodIcon, FILE_THEME, FOLDER_THEME, FaIcon, ICON_TOKEN, IconCodIconComponent, IconCodiconPipe, IconComponent, IconFaComponent, IconFaPipe, IconFilePipe, IconIcongrComponent, IconIcongrPipe, IconImgComponent, IconPipe, IcongrIcon, ImgIcon, NGE_UI_ICON_CONFIG, NgeIconService, NgeUiIconModule }; export type { DefaultIcon, FileIcon, FileIconOptions, FileTheme, FolderIcon, FolderTheme, Icon, IcongrOptions, ImgIconOptions, NgeUiIconConfig };