import { BehaviorSubject, Observable } from 'rxjs'; import { TemplateNameDirective } from '../utils/directive/template-name.directive'; import { ConfigurableDirective } from './configurable.directive'; import * as i0 from "@angular/core"; export interface Configurable { id: string; parentId: string; zone: string; templates?: Record; data?: any; dataIndex?: number; conditionsData?: Record; removeEdited: () => void; removeSelected: () => void; removeHighlight?: () => void; addHighlight?: () => void; highlight?: () => void; } export declare class ConfigurableService { private _hoveredId?; /** * currently edited element'id. * Can be undefined when element is unselected */ edited$: BehaviorSubject; /** * behavior subject as we need to retrieve the previous value to toggle it */ editorEnabled$: BehaviorSubject; /** * previous edited element */ previousConfigurableElement?: Configurable; /** * configurable service must subscribe to store'changes events (config service) */ configurableDirectiveMap: Map; set hoveredId(id: string | undefined); get hoveredId(): string | undefined; /** * Set the hover's id element when not undefined * @param {string | undefined} id - The id of the configurable element */ mouseoverConfigurable(id: string | undefined): void; /** * Set the hover's id element when different from the current hovered element * @param id {string | undefined} id - The id of the configurable element */ mouseenterConfigurable(id: string | undefined): void; /** * When mouse leave configurable element, set hover's id to undefined */ mouseleaveConfigurable(): void; clickConfigurable(configurable: Configurable): void; stopEditing(): void; watchEdited(): Observable; isConfigurable: (configurable: Configurable | undefined) => configurable is Configurable; toggleEditor(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }