import * as ng_primitives_state from 'ng-primitives/state'; import * as _angular_core from '@angular/core'; import { OnDestroy, InjectionToken, Provider } from '@angular/core'; import * as flowbite_angular_icon from 'flowbite-angular/icon'; import * as _ng_icons_core from '@ng-icons/core'; import { IconType } from '@ng-icons/core'; import { FlowbiteColors, ColorToTheme, DeepPartial } from 'flowbite-angular'; declare class Icon implements OnDestroy { readonly config: flowbite_angular_icon.FlowbiteIconConfig; /** Access the icons */ private readonly icons; /** Access the icon loader if defined */ private readonly loader; /** Access the icon cache if defined */ private readonly cache; /** Access the pre-processor */ private readonly preProcessor; /** Access the post-processor */ private readonly postProcessor; /** Access the injector */ private readonly injector; /** Access the renderer */ private readonly renderer; /** Determine the platform we are rendering on */ private readonly platform; /** Access the element ref */ private readonly elementRef; /** A unique id for this instance */ private readonly uniqueId; /** Define the name of the icon to display */ readonly name: _angular_core.InputSignal; /** Define the svg of the icon to display */ readonly svg: _angular_core.InputSignal; /** * @see {@link injectFlowbiteIconConfig} */ readonly color: _angular_core.InputSignal; /** * @see {@link injectFlowbiteIconConfig} */ readonly customTheme: _angular_core.InputSignal<{ host?: { base?: string | undefined; transition?: string | undefined; color?: { [x: string]: { light?: string | undefined; dark?: string | undefined; } | undefined; primary?: { light?: string | undefined; dark?: string | undefined; } | undefined; dark?: { light?: string | undefined; dark?: string | undefined; } | undefined; light?: { light?: string | undefined; dark?: string | undefined; } | undefined; blue?: { light?: string | undefined; dark?: string | undefined; } | undefined; cyan?: { light?: string | undefined; dark?: string | undefined; } | undefined; gray?: { light?: string | undefined; dark?: string | undefined; } | undefined; green?: { light?: string | undefined; dark?: string | undefined; } | undefined; indigo?: { light?: string | undefined; dark?: string | undefined; } | undefined; lime?: { light?: string | undefined; dark?: string | undefined; } | undefined; pink?: { light?: string | undefined; dark?: string | undefined; } | undefined; purple?: { light?: string | undefined; dark?: string | undefined; } | undefined; red?: { light?: string | undefined; dark?: string | undefined; } | undefined; teal?: { light?: string | undefined; dark?: string | undefined; } | undefined; yellow?: { light?: string | undefined; dark?: string | undefined; } | undefined; default?: { light?: string | undefined; dark?: string | undefined; } | undefined; info?: { light?: string | undefined; dark?: string | undefined; } | undefined; failure?: { light?: string | undefined; dark?: string | undefined; } | undefined; success?: { light?: string | undefined; dark?: string | undefined; } | undefined; warning?: { light?: string | undefined; dark?: string | undefined; } | undefined; } | undefined; } | undefined; }>; /** Store the inserted SVG */ private svgElement?; readonly theme: _angular_core.Signal<{ host: { root: string; }; }>; protected readonly state: ng_primitives_state.CreatedState; constructor(); ngOnDestroy(): void; private updateIcon; private setSvg; private replaceIds; /** * Request the icon from the loader. * @param name The name of the icon to load. * @returns The SVG content for a given icon name. */ private requestIconFromLoader; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const FlowbiteIconStateToken: InjectionToken; declare const provideFlowbiteIconState: (options?: ng_primitives_state.CreateStateProviderOptions) => _angular_core.FactoryProvider; declare const injectFlowbiteIconState: []; readonly loader: _ng_icons_core.NgIconLoader | null; readonly cache: _ng_icons_core.NgIconLoaderCache | null; readonly preProcessor: NgIconPreProcessor; readonly postProcessor: NgIconPostProcessor; readonly injector: _angular_core.Injector; readonly renderer: _angular_core.Renderer2; readonly platform: Object; readonly elementRef: _angular_core.ElementRef; readonly uniqueId: number; readonly name: _angular_core.InputSignal<_ng_icons_core.IconType | undefined>; readonly svg: _angular_core.InputSignal; readonly color: _angular_core.InputSignal; readonly customTheme: _angular_core.InputSignal<{ host?: { base?: string | undefined; transition?: string | undefined; color?: { [x: string]: { light?: string | undefined; dark?: string | undefined; } | undefined; primary?: { light?: string | undefined; dark?: string | undefined; } | undefined; dark?: { light?: string | undefined; dark?: string | undefined; } | undefined; light?: { light?: string | undefined; dark?: string | undefined; } | undefined; blue?: { light?: string | undefined; dark?: string | undefined; } | undefined; cyan?: { light?: string | undefined; dark?: string | undefined; } | undefined; gray?: { light?: string | undefined; dark?: string | undefined; } | undefined; green?: { light?: string | undefined; dark?: string | undefined; } | undefined; indigo?: { light?: string | undefined; dark?: string | undefined; } | undefined; lime?: { light?: string | undefined; dark?: string | undefined; } | undefined; pink?: { light?: string | undefined; dark?: string | undefined; } | undefined; purple?: { light?: string | undefined; dark?: string | undefined; } | undefined; red?: { light?: string | undefined; dark?: string | undefined; } | undefined; teal?: { light?: string | undefined; dark?: string | undefined; } | undefined; yellow?: { light?: string | undefined; dark?: string | undefined; } | undefined; default?: { light?: string | undefined; dark?: string | undefined; } | undefined; info?: { light?: string | undefined; dark?: string | undefined; } | undefined; failure?: { light?: string | undefined; dark?: string | undefined; } | undefined; success?: { light?: string | undefined; dark?: string | undefined; } | undefined; warning?: { light?: string | undefined; dark?: string | undefined; } | undefined; } | undefined; } | undefined; }>; svgElement?: SVGElement | undefined; readonly theme: _angular_core.Signal<{ host: { root: string; }; }>; readonly state: ng_primitives_state.CreatedState; ngOnDestroy: () => void; updateIcon: () => Promise; setSvg: (svg: string) => void; replaceIds: (svg: string) => string; requestIconFromLoader: (name: string) => Promise; }>(injectOptions?: _angular_core.InjectOptions) => _angular_core.Signal>; declare const flowbiteIconState: (state: U) => ng_primitives_state.CreatedState; type NgIconPreProcessor = (icon: string) => string; type NgIconPostProcessor = (element: HTMLElement | SVGElement) => void; declare const NgIconPreProcessorToken: InjectionToken; declare const NgIconPostProcessorToken: InjectionToken; declare function injectNgIconPreProcessor(): NgIconPreProcessor; declare function injectNgIconPostProcessor(): NgIconPostProcessor; interface FlowbiteIconColors extends FlowbiteColors { [key: string]: ColorToTheme; } interface FlowbiteIconTheme { host: FlowbiteIconHostTheme; } interface FlowbiteIconHostTheme { base: string; transition: string; color: FlowbiteIconColors; } declare const flowbiteIconTheme: FlowbiteIconTheme; interface FlowbiteIconConfig { /** * The default theme of icon */ baseTheme: FlowbiteIconTheme; /** * The default color of icon */ color: keyof FlowbiteIconColors; /** * The custom theme of icon */ customTheme: DeepPartial; } declare const defaultFlowbiteIconConfig: FlowbiteIconConfig; declare const FlowbiteIconConfigToken: InjectionToken; /** * Provide the default Icon configuration * @param config The Icon configuration * @returns The provider */ declare const provideFlowbiteIconConfig: (config: Partial) => Provider[]; /** * Inject the Icon configuration * @see {@link defaultFlowbiteIconConfig} * @returns The configuration */ declare const injectFlowbiteIconConfig: () => FlowbiteIconConfig; export { FlowbiteIconConfigToken, FlowbiteIconStateToken, Icon, NgIconPostProcessorToken, NgIconPreProcessorToken, defaultFlowbiteIconConfig, flowbiteIconState, flowbiteIconTheme, injectFlowbiteIconConfig, injectFlowbiteIconState, injectNgIconPostProcessor, injectNgIconPreProcessor, provideFlowbiteIconConfig, provideFlowbiteIconState }; export type { FlowbiteIconColors, FlowbiteIconConfig, FlowbiteIconHostTheme, FlowbiteIconTheme, NgIconPostProcessor, NgIconPreProcessor };