import { ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { AttributesMap, DynamicDirectiveDef } from 'ng-dynamic-component';
import { Subject } from 'rxjs';
import { ComponentLocatorService } from '../component-locator/component-locator.service';
import { ConfigurationService } from '../config/configuration.service';
import { InjectorRegistryService } from '../injectors/injector-registry.service';
import { MappedInjectorFactory } from '../injectors/mapped-injector';
import { RenderComponent } from '../render-component';
import { OrchestratorConfigItem, OrchestratorDynamicComponentInputs, OrchestratorDynamicComponentType } from '../types';
import { ComponentsRegistryService } from './components-registry.service';
import * as i0 from "@angular/core";
export declare class RenderItemComponent extends RenderComponent implements OnInit, OnChanges, OnDestroy {
    private cdr;
    private renderer;
    private cfr;
    private componentLocatorService;
    private componentsRegistryService;
    private configurationService;
    private mappedInjectorFactory;
    private injectorRegistryService;
    item: OrchestratorConfigItem<any> | undefined;
    context: any;
    componentCreated: EventEmitter<ComponentRef<any>>;
    childComponentsCreated: EventEmitter<ComponentRef<any>[]>;
    destroyed$: Subject<void>;
    componentType: OrchestratorDynamicComponentType;
    inputs: OrchestratorDynamicComponentInputs;
    directives: DynamicDirectiveDef<any>[];
    attributes: AttributesMap | null;
    injector: Injector;
    get itemsLength(): number;
    private compRef;
    private compCdr;
    private compFactory;
    private config;
    private disposableHandlers;
    constructor(cdr: ChangeDetectorRef, renderer: Renderer2, cfr: ComponentFactoryResolver, componentLocatorService: ComponentLocatorService, componentsRegistryService: ComponentsRegistryService, configurationService: ConfigurationService, mappedInjectorFactory: MappedInjectorFactory, injectorRegistryService: InjectorRegistryService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onComponentCreated(compRef: ComponentRef<any>): void;
    getInjectorRegistryService(): InjectorRegistryService;
    markForCheck(): void;
    addItem(item: OrchestratorConfigItem<any>): void;
    removeItem(item: OrchestratorConfigItem<any>): void;
    clearItems(): void;
    private update;
    private updateComponent;
    private updateConfig;
    private updateInjector;
    private updateInputs;
    private updateAttributes;
    private updateDirectives;
    private getConfig;
    private createInjector;
    private createLocalInjector;
    private updateHandlers;
    private decodeHandler;
    private attachHandler;
    private disposeHandlers;
    private updateContextInput;
    static ɵfac: i0.ɵɵFactoryDeclaration<RenderItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RenderItemComponent, "orc-render-item", never, { "item": "item"; "context": "context"; }, { "componentCreated": "componentCreated"; "childComponentsCreated": "childComponentsCreated"; }, never, never>;
}
