export interface TreePlacementWidgetProps { disabled?: boolean; onMutationError?: (error: unknown) => 'blocked' | 'committed' | null | void; onCommitted?: (receipt: import('@byline/core').StructuralMutationReceipt) => void; expectedRevision: number; /** The collection path (`tree: true`). */ collectionPath: string; /** The logical id of the document being edited. */ documentId: string; /** The collection's `useAsTitle` field, used to label the chosen parent. */ useAsTitle?: string; } /** * Sidebar widget for placing the current document within its collection's * single-parent document tree (the `tree: true` primitive — docs/04-collections/04-document-trees.md). * * The tree is document-grain and **unversioned**, so changes here write * immediately (independent of the form's content save). The editor picks a * parent through the collection's own relation picker — same search / columns * UX as a relation field — or moves the document to the top level; the server * enforces the cycle / same-collection invariants and fires the * structural-change invalidation event. * * Renders only in edit mode (placement needs a persisted document) and only when * the host wires the tree services. Stable override handle: `.byline-form-tree`. */ export declare const TreePlacementWidget: ({ collectionPath, disabled, onMutationError, onCommitted, expectedRevision, documentId, useAsTitle, }: TreePlacementWidgetProps) => import("react").JSX.Element | null;