import { ComponentRef, ElementRef, Injector, NgModuleRef, ViewContainerRef } from '@angular/core'; import { CmsComponentMapping } from '@spartacus/core'; import { Observable } from 'rxjs'; import { ComponentHandler } from '../handlers/component-handler'; import * as i0 from "@angular/core"; /** * Responsible for obtaining component handler for specified component mapping */ export declare class ComponentHandlerService { protected handlers: ComponentHandler[]; constructor(handlers: ComponentHandler[]); protected invalidMappings: Set>; /** * Get best matching component handler * * @param componentMapping */ protected resolve(componentMapping: CmsComponentMapping): ComponentHandler; /** * Get launcher for specified component mapping * * @param componentMapping * @param viewContainerRef * @param elementInjector */ getLauncher(componentMapping: CmsComponentMapping, viewContainerRef: ViewContainerRef, elementInjector?: Injector, module?: NgModuleRef): Observable<{ elementRef: ElementRef; componentRef?: ComponentRef; }>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }