import { ReplaySubject } from "rxjs";
import { EventBus, IEvent } from "@nova-ui/bits";
import { DynamicComponentCreator } from "./dynamic-component-creator.service";
import { IComponentConfiguration, IPizza, IPizzagna } from "../../types";
import { IPizzagnaProperty } from "../functions/get-pizzagna-property-path";
import * as i0 from "@angular/core";
/**
 * This service allows pizzagna sub-components to read data of other components and initiate changes of property values
 */
export declare class PizzagnaService {
    private eventBus;
    private dynamicComponentCreator;
    constructor(eventBus: EventBus<IEvent>, dynamicComponentCreator: DynamicComponentCreator);
    pizzagna: IPizzagna;
    pizzaChanged: ReplaySubject<IPizza>;
    private components;
    updatePizzagna(pizzagna: IPizzagna): void;
    updateComponents(components: IPizza): void;
    getComponent(refId: string): IComponentConfiguration;
    setProperty(property: IPizzagnaProperty | string, value: any): void;
    createComponentsFromTemplateWithProperties(parentPath: string, components: any): void;
    createComponentsFromTemplate(parentPath: string, componentIds: string[]): void;
    removeComponents(ids: string | string[]): void;
    private removeComponent;
    static ɵfac: i0.ɵɵFactoryDeclaration<PizzagnaService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PizzagnaService>;
}
