import type { BuilderNode, ParentNode, PageNode, SectionNode, ContainerNode, RowNode, ColumnNode, BlockNode, SavedSectionRefNode, SectionSettings, ContainerSettings, RowSettings } from './types.js';
export declare function createId(): string;
export declare function findNode(root: BuilderNode, id: string): BuilderNode | undefined;
export declare function findParent(root: BuilderNode, id: string): ParentNode | undefined;
export declare function addNode(root: PageNode, parentId: string, node: BuilderNode, index?: number): PageNode;
export declare function removeNode(root: PageNode, nodeId: string): PageNode;
export declare function moveNode(root: PageNode, nodeId: string, newParentId: string, index?: number): PageNode;
export declare function updateNodeSettings(root: PageNode, nodeId: string, settings: Record<string, unknown>): PageNode;
export declare function updateBlockData(root: PageNode, blockId: string, data: Record<string, unknown>): PageNode;
export declare function createEmptyPage(): PageNode;
export declare function createSection(settings?: Partial<SectionSettings>): SectionNode;
export declare function createContainer(settings?: Partial<ContainerSettings>): ContainerNode;
export declare function createRow(columns?: ColumnNode[], settings?: Partial<RowSettings>): RowNode;
export declare function createColumn(width: number, children?: (BlockNode | ContainerNode)[]): ColumnNode;
export declare function createBlock(blockType: string, variant?: string, data?: Record<string, unknown>): BlockNode;
export declare function createSavedSectionRef(refId: string): SavedSectionRefNode;
//# sourceMappingURL=tree.d.ts.map