import { OnInit, OnDestroy, ChangeDetectorRef, Injector, EventEmitter, OnChanges, SimpleChanges, ViewContainerRef } from '@angular/core'; import { ConfigurationObjectResolve } from '@mf/core'; import { ContainersService } from '../../services/containers.service'; import { ContainerComponentsService } from '../../services/container-components.service'; import { CustomElementRendererRef } from '../../renderers/custom-element.renderer'; import { IframeRendererRef } from '../../renderers/iframe.renderer'; import { NgComponentRendererRef } from '../../renderers/ng-component.renderer'; import { IframeRendererContext, NgRendererContext } from '../../renderers/interface'; /** * Class is responsible to render 3 types of Module Federated Containers: * Angular Component, Custom Element and Iframe */ export declare class ContainerInjectorComponent implements OnChanges, OnInit, OnDestroy { readonly viewContainerRef: ViewContainerRef; readonly injector: Injector; readonly changeDetectorRef: ChangeDetectorRef; private readonly containersService; private readonly containerComponentsService; container: string; module: string; error: EventEmitter; containerUuid: string; baseUrl: string; rendererRef: CustomElementRendererRef | IframeRendererRef | NgComponentRendererRef; rendererContext: HTMLElement | IframeRendererContext | NgRendererContext; constructor(viewContainerRef: ViewContainerRef, injector: Injector, changeDetectorRef: ChangeDetectorRef, containersService: ContainersService, containerComponentsService: ContainerComponentsService); /** * Handles component input data */ ngOnChanges(changes: SimpleChanges): void; /** * Mounts the current injector component to be updated on Container lifecycle events */ ngOnInit(): void; /** * Unmounts the injector component from Container lifecycle events * Unmounts the Container for the injector component * Flushes Renderer data to prevent memory leaks */ ngOnDestroy(): void; /** * Resolves a Container by name and module */ resolve(): void; /** * Flushes Renderer data, is ushed before rendering a new Container */ clear(): void; /** * Emits an error of the injector component */ dispatchError(error: string | Error): void; /** * Renders a Container by its type */ render(resolvedConfiguration: ConfigurationObjectResolve): Promise; }