import type { CanonicalPublicAttrs, HsonNode, Primitive } from "../../core/types.js"; import type { LiveMapGraphOp } from "../../types/livemap.types.js"; import { type LiveTreeRuntime } from "../livetree/runtime/livetree-runtime.js"; type ShadowContent = ShadowNode | Primitive; type ShadowNode = { readonly node: HsonNode; readonly fresh: boolean; readonly parent?: ShadowNode; persistedQuid?: string; readonly replacementSource?: HsonNode; attrs: CanonicalPublicAttrs; content: ShadowContent[]; }; type PlannedQuidLineageTransfer = Readonly<{ quid: string; from: HsonNode; to: HsonNode; }>; export type DocumentStructuralPlan = Readonly<{ root: ShadowNode; finalNodes: ReadonlySet; removedRoots: readonly HsonNode[]; affectedOwners: readonly HsonNode[]; runtime: LiveTreeRuntime; lineageTransfers: readonly PlannedQuidLineageTransfer[]; }>; type PersistedQuidLookup = (node: HsonNode) => string | undefined; /** Plan all graph operations sequentially without mutating the projected graph or DOM. */ export declare function plan_document_structural_transaction(projectedRoot: HsonNode, canonicalFinalRoot: HsonNode, operations: readonly LiveMapGraphOp[], persistedQuidForExisting: PersistedQuidLookup): DocumentStructuralPlan; /** Plan complete compatible-root convergence while retaining the projected root object. */ export declare function plan_document_root_structural_transaction(projectedRoot: HsonNode, canonicalFinalRoot: HsonNode, persistedQuidForExisting: PersistedQuidLookup): DocumentStructuralPlan; /** Apply one fully validated structural plan through explicit internal graph/DOM machinery. */ export declare function apply_document_structural_transaction(plan: DocumentStructuralPlan, beforeDomRealization?: () => void): void; export {}; //# sourceMappingURL=reflect.document.structure.d.ts.map