import { Editor } from '../editors/v1/core/Editor.js';
import { SelectionCapture, SelectionAnchorRectOptions, ViewportRect } from './types.js';
/**
 * Resolve the painted rects of the current selection, or of a captured
 * one when `capture` is provided. Empty array when the editor has no
 * presentation layer (SSR / non-paginated mounts), no current selection,
 * or a stale capture whose target no longer resolves.
 *
 * Two editors are accepted because the capture path needs both:
 * - `hostEditor` owns the presentation layer (`getRangeRects`).
 * - `routedEditor` owns the PM document that captured block ids belong
 *   to. For body-only captures these are the same instance; for
 *   captures taken while editing a header / footer / footnote /
 *   endnote, the routed editor is the story editor.
 *
 * The live path uses only `hostEditor.presentationEditor.getSelectionRects()`,
 * which routes through its internal `getActiveEditor()` and works on
 * every surface.
 */
export declare function getSelectionRects(hostEditor: Editor | null, routedEditor: Editor | null, capture?: SelectionCapture | null): ViewportRect[];
/**
 * Single anchor rect derived from {@link getSelectionRects}. Returns
 * `null` when the selection produces no painted rects.
 */
export declare function getSelectionAnchorRect(hostEditor: Editor | null, routedEditor: Editor | null, options?: SelectionAnchorRectOptions, capture?: SelectionCapture | null): ViewportRect | null;
//# sourceMappingURL=selection-rects.d.ts.map