import { AfterViewInit, OnDestroy } from "@angular/core";
import { FormGroup } from "@angular/forms";
import { Subject } from "rxjs";
import { EventBus, IEvent } from "@nova-ui/bits";
import { PizzagnaService } from "../../../pizzagna/services/pizzagna.service";
import { IPizzagna, IPizzagnaLayer } from "../../../types";
import { PreviewService } from "../preview.service";
import { IConfiguratorConverter } from "./types";
import * as i0 from "@angular/core";
export declare abstract class BaseConverter implements AfterViewInit, IConfiguratorConverter, OnDestroy {
    protected eventBus: EventBus<IEvent>;
    private previewService;
    protected pizzagnaService: PizzagnaService;
    component: any;
    componentId: string;
    readonly destroy$: Subject<void>;
    constructor(eventBus: EventBus<IEvent>, previewService: PreviewService, pizzagnaService: PizzagnaService);
    ngAfterViewInit(): void;
    abstract buildForm(): void;
    abstract toPreview(form: FormGroup): void;
    setComponent(component: any, componentId: string): void;
    getPreview(): IPizzagnaLayer;
    updatePreview(preview: IPizzagnaLayer): void;
    updateFormPizzagna(pizzagna: IPizzagna): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseConverter, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BaseConverter>;
}
