import type { SelectableData, SelectModeClickPosition } from "../../_vendor/schemas/generated/selectMode"; /** * Element that should own a click/hover selection: skip TipTap/inline JSX * mark wrappers, then prefer an explicit selectable boundary when present. */ export declare function getNearestSelectableElement(element: Element): Element; /** * Build a CSS selector path from `element` up to the document root. Stops * (and short-circuits) at the first ancestor with an `id`. Used so the * parent can identify the element later without holding a DOM reference. */ export declare function buildSelector(element: Element): string; /** * The single entrypoint for converting a DOM `Element` into the serialized * `SelectedElement` payload that crosses the iframe<->parent boundary. * Centralizes everything the parent (and downstream agent) need to know * about a selection: identification, geometry, source location, and a * style-inlined HTML snippet. */ export declare function buildElementDescriptor({ element, clickPosition, siblingSelectors, section, }: { element: Element; clickPosition: SelectModeClickPosition; siblingSelectors?: string[]; section?: Element | null; }): SelectableData;