import { ComponentState } from "./state.js"; import type { ComponentSnapshot, EventHandler } from "./types.js"; export type ComponentInput = Partial & { id?: string; component?: string; layers: string | any[]; }; export declare class ComponentManager { private components; private bus; list(): string[]; has(id: string): boolean; get(id: string): ComponentSnapshot | null; /** Returns the live ComponentState instance (for ops) */ getInstance(id: string): ComponentState | null; create(id: string, initial: Omit): ComponentState; /** * Bulk creates multiple components at once. * Skips items without a valid id/component property or that already exist in state. */ bulkCreate(components: ComponentInput[]): ComponentState[]; /** * Loads components from a page definition object into state. * Optionally resets (clears) existing components first. */ loadPage(page: { COMPONENTS?: ComponentInput[]; }, options?: { reset?: boolean; }): ComponentState[]; /** * Removes all components from the manager. */ clear(): void; remove(id: string): boolean; on(event: string, handler: EventHandler): () => void; off(event: string, handler: EventHandler): void; }