import { ApplicationRef, ComponentRef, Type, Injector, ViewContainerRef, ComponentFactoryResolver, RendererFactory2 } from '@angular/core';
import * as i0 from "@angular/core";
export declare class NSDynamicComponentService {
    private applicationRef;
    private injector;
    private componentFactoryResolver;
    private renderer;
    constructor(applicationRef: ApplicationRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver, rendererFactory: RendererFactory2);
    /**
     * Create a component reference dynamically.
     * @param componentClass The component class to create.
     * @param viewContainerRef Optional ViewContainerRef to host the component.
     * @param inputs Optional object containing @Input properties to set on the component instance.
     */
    createComponentRef<T>(componentClass: Type<T>, viewContainerRef?: ViewContainerRef, inputs?: Partial<T>): ComponentRef<T>;
    private createViewContainerRef;
    getInstance<T>(componentRef: ComponentRef<T>): T;
    getDomElement<T>(componentRef: ComponentRef<T>): HTMLElement;
    destroyComponent<T>(componentRef: ComponentRef<T>, delay?: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NSDynamicComponentService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NSDynamicComponentService>;
}
