import { RockConfig, RockPropValue, PageConfig, RockMessage } from "./types/rock-types"; import { ExpressionInterpreter } from "./ExpressionInterpreter"; import { Framework } from "./Framework"; import { Page } from "./Page"; import { Scope } from "./Scope"; declare type TravelProcessor = (scope: Scope, parentConfig: RockConfig, config: RockConfig) => void; export declare class ComponentTreeManager { #private; constructor(framework: Framework, page: Page, interpreter: ExpressionInterpreter); generateComponentId(type: string): string; observe(callback: (config: PageConfig) => void): void; loadConfig(config: PageConfig): void; getConfig(): PageConfig; getSerializableConfig(): PageConfig; reload(): void; initComponents(): void; attachComponent(scope: Scope, parentConfig: RockConfig, config: RockConfig): void; interpreteConfigExpressions(parentConfig: RockConfig, config: RockConfig, vars: Record): void; travelRockConfig(callback: TravelProcessor, scope: Scope, parentConfig: RockConfig, config: RockConfig): void; addComponents(components: RockConfig[], parentComponentId?: string, slotPropName?: string, prevSiblingComponentId?: string): void; removeComponents(componentIds: string[]): void; setComponentProperty(componentId: string, propName: string, propValue: RockPropValue): void; setComponentProperties(componentId: string, props: Record): void; removeComponentProperty(componentId: string, propName: string): void; setComponentPropertyExpression(componentId: string, propName: string, propExpression: string): void; removeComponentPropertyExpression(componentId: string, propName: string): void; getComponentProperty(componentId: string, propName: string): any; getComponent(componentId: string): RockConfig; sendComponentMessage = RockMessage>(componentId: string, message: TRockMessage): void; getScope(scopeId: string): Scope; } export {};