import { ComponentRef, InjectionToken, Injector, Type, ViewContainerRef } from '@angular/core'; import { Store } from '@ngrx/store'; import { BehaviorSubject, Observable } from 'rxjs'; import { TooltipOfClass } from '../../core/model/tooltip-of-class.interface'; import { BaseTooltipComponent } from './base-tooltip.component'; import * as i0 from "@angular/core"; export declare const TOOLTIP_DEFINITION: InjectionToken; export type TooltipStaticDefinition = { name: string; component: Type; }; export type TooltipLazyDefinition = { name: string; load: () => Promise<(injector: Injector) => Type>; }; export type TooltipDefinition = TooltipStaticDefinition | TooltipLazyDefinition; export declare class TooltipFactoryService { private injector; private store; reference$: BehaviorSubject<{ [key: string]: TooltipDefinition; }>; types$: Observable; defs: { [p: string]: TooltipOfClass; }; moduleRefCache: { [manifestType: string]: Type; }; constructor(injector: Injector, reference: { [key: string]: TooltipDefinition; }, store: Store); resolveComponent(_type: string): Observable>; private putDefinitions; isModuleLoaded(type: string): Observable; generateTooltip(type: string, parentInjector: Injector, container: ViewContainerRef): Observable | null>; addTooltipDefinitions(defs: { [key: string]: TooltipDefinition; }): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }