import { ComponentRef, InjectionToken, Injector, Type, ViewContainerRef } from '@angular/core'; import { Store } from '@ngrx/store'; import { BehaviorSubject, Observable } from 'rxjs'; import { BaseFilterComponent } from './base-filter.component'; import * as i0 from "@angular/core"; export declare const FILTER_DEFINITION: InjectionToken; export type FilterStaticDefinition = { name: string; component: Type; }; export type FilterLazyDefinition = { name: string; load: () => Promise<(injector: Injector) => Type>; }; export type FilterDefinition = FilterStaticDefinition | FilterLazyDefinition; export declare class FilterFactoryService { private injector; private store; reference$: BehaviorSubject<{ [key: string]: FilterDefinition; }>; types$: Observable; defs: { [p: string]: any; }; moduleRefCache: { [manifestType: string]: Type; }; constructor(injector: Injector, reference: { [key: string]: FilterDefinition; }, store: Store); resolveComponent(_type: string): Observable>; private putDefinitions; generateFilter(type: string, parentInjector: Injector, container: ViewContainerRef): Observable>; addFilterDefinitions(defs: { [key: string]: FilterDefinition; }): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }