import { ApplicationRef, ComponentFactoryResolver, Injector, RendererFactory2 } from "@angular/core";
import { Router } from "@angular/router";
import { Observable } from "rxjs";
import { LoggerService } from "@nova-ui/bits";
import { IConfigurator, IConfiguratorSource } from "./types";
import { IWidget } from "../../components/widget/types";
import { WidgetUpdateOperation } from "../../configurator/services/types";
import { WidgetTypesService } from "../../services/widget-types.service";
import * as i0 from "@angular/core";
export declare class ConfiguratorService {
    private componentFactoryResolver;
    private widgetTypesService;
    private injector;
    private appRef;
    private logger;
    private router;
    private renderer;
    private componentRef;
    private close$;
    constructor(componentFactoryResolver: ComponentFactoryResolver, widgetTypesService: WidgetTypesService, injector: Injector, appRef: ApplicationRef, logger: LoggerService, rendererFactory: RendererFactory2, router: Router);
    open(configurator: IConfigurator): Observable<void>;
    close(): void;
    handleSubmit: (confSource: IConfiguratorSource, trySubmit: WidgetUpdateOperation) => (source: Observable<IWidget>) => Observable<void>;
    private trySubmit;
    private updateDashboard;
    private appendComponentToBody;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfiguratorService, [null, null, null, null, null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ConfiguratorService>;
}
