import type { LayoutNode, SpacingTokens, LayoutProperties } from './types.js'; export declare class SemanticLayoutGraph { private nodes; private rootId; private nextId; /** * Create a new node and add it to the graph. */ createNode(params: { componentName: string; tagName: string; filePath: string; lineNumber: number; spacing?: SpacingTokens; layout?: LayoutProperties; isPrimitive?: boolean; isCustomComponent?: boolean; hasOnLayout?: boolean; isListItem?: boolean; }): string; /** * Add a child node to a parent. */ addChild(parentId: string, childId: string): void; /** * Get a node by ID. */ getNode(id: string): LayoutNode | undefined; /** * Get the root node. */ getRoot(): LayoutNode | undefined; /** * Get all nodes. */ getAllNodes(): LayoutNode[]; /** * Get all leaf nodes (no children). */ getLeafNodes(): LayoutNode[]; /** * Get all container nodes (have children). */ getContainerNodes(): LayoutNode[]; /** * Get all nodes with a specific component name. */ getNodesByComponent(name: string): LayoutNode[]; /** * Get the depth of a node from root. */ getDepth(nodeId: string): number; /** * Mark a node as a slot (transparent container). * Slot components render {props.children} and should be treated * as transparent in the layout graph. */ setSlot(nodeId: string): void; /** * Add a context call to a node. */ addContextCall(nodeId: string, contextName: string): void; } //# sourceMappingURL=SemanticLayoutGraph.d.ts.map