import { ScrollDispatcher } from "@angular/cdk/overlay";
import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
import { BehaviorSubject } from "rxjs";
import { IWidget } from "../../../components/widget/types";
import { WidgetTypesService } from "../../../services/widget-types.service";
import { IHasChangeDetector, IPizzagna, IPizzagnaLayer } from "../../../types";
import { PreviewService } from "../../services/preview.service";
import { ConfiguratorComponent } from "../configurator/configurator.component";
import { IDashwizStepNavigatedEvent, IDashwizWaitEvent } from "../wizard/types";
import * as i0 from "@angular/core";
export declare class WidgetClonerComponent implements OnInit, OnDestroy, AfterViewInit, IHasChangeDetector {
    changeDetector: ChangeDetectorRef;
    configurator: ConfiguratorComponent;
    private previewService;
    private formBuilder;
    private widgetTypesService;
    private scrollDispatcher;
    static lateLoadKey: string;
    formPizzagna?: IPizzagna;
    cloneSelectionComponentType: Function;
    form: FormGroup;
    widgetTemplate: IWidget;
    navigationControl: BehaviorSubject<IDashwizWaitEvent>;
    busy: boolean;
    scrolled: boolean;
    isFormDisplayed: boolean;
    private readonly destroy$;
    private resetForm$;
    constructor(changeDetector: ChangeDetectorRef, configurator: ConfiguratorComponent, previewService: PreviewService, formBuilder: FormBuilder, widgetTypesService: WidgetTypesService, scrollDispatcher: ScrollDispatcher);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onPreviewPizzagnaUpdate(configLayer: IPizzagnaLayer): void;
    canFinish(): boolean;
    onFinish(): void;
    onCancel(): void;
    onStepNavigated(event: IDashwizStepNavigatedEvent): void;
    onSelect(widget: IWidget): void;
    private toggleBusy;
    private resetForm;
    static ɵfac: i0.ɵɵFactoryDeclaration<WidgetClonerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WidgetClonerComponent, "nui-widget-cloner", never, { "formPizzagna": { "alias": "formPizzagna"; "required": false; }; "cloneSelectionComponentType": { "alias": "cloneSelectionComponentType"; "required": false; }; }, {}, never, never, false, never>;
}
