import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import { ComponentConfig, ContainerConfig } from './config.model'; import * as i0 from "@angular/core"; export declare class ConfigService { store: Store; constructor(store: Store); /** * Initialize configuration assuming the store is empty. * No object is removed and the state history is not modified. * @param config list of configuration items to manage */ init(config: ComponentConfig[]): void; /** * Set the configuration assuming the store is not empty. * All previously existing objects are removed and the state * history is reset. * @param config */ set(config: ComponentConfig[]): void; /** * Watch any change in the configuration objects. */ watchAllConfig(): Observable; /** * @returns all current configuration */ getAllConfig(): ComponentConfig[]; /** * Watch changes of one specific configuration object */ watchConfig(id: string): Observable; private _getConfig; /** * @returns the current configuration of a specific item with the given id */ getConfig(id: string): ComponentConfig; /** * @returns the current configuration of a specific container item with the given id */ getContainer(id: string): ContainerConfig; /** * @returns true if the configuration with the given id is a container */ isContainer(id: string): boolean; /** * @returns true if the given configuration is a container */ isContainerConfig(conf: ComponentConfig | undefined): conf is ContainerConfig; /** * Test whether a given component id is used within the hierarchy of a container */ isUsed(id: string): boolean; /** * @returns the configuration of a container that includes the given id as a child item */ findParent(id: string): ContainerConfig | undefined; /** * Update the configuration of a given component or list of components */ updateConfig(config: ComponentConfig | ComponentConfig[]): void; /** * Remove the configuration of a component with the given id */ removeConfig(id: string): void; /** * @returns a new unique component id for the given component type */ generateId(type: string): string; /** * @returns an observable state for the possibility of undoing the last action */ canUndo$(): Observable; /** * @returns an observable state for the possibility of redoing the next action */ canRedo$(): Observable; /** * Undo the last action if possible */ undo(): void; /** * Redo the next action if possible */ redo(): void; exportConfiguration(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }