import { ScrollIntoViewInput, ScrollIntoViewOutput } from '../../../document-api/src/index.js'; import { Editor } from '../editors/v1/core/Editor.js'; /** * Two paths: * - EntityAddress (comment / tracked change by id) → delegates to * `presentation.navigateTo(target, { behavior, block })`, which * handles paginated layouts, virtualized page mounting, AND story * activation for entities in header/footer/footnote/endnote stories. * The viewport surface defaults `behavior` to `'smooth'` so a * sidebar click animates instead of teleporting; the underlying * virtualized-page mount step is unaffected because the mount-trigger * scroll is internal to `scrollToPositionAsync` and only the final * alignment retry honors caller behavior. * - TextAddress / TextTarget → resolves the first segment to a PM * position and calls `scrollToPositionAsync` with caller-provided * `block` / `behavior` options. This path is body-only today; text * targets that reference non-body stories are out of scope. * * Both paths honor the `{ success: boolean }` contract: thrown errors * from resolvers (e.g. ambiguous block IDs) and rejected scroll * promises are caught and converted into `{ success: false }` rather * than propagating. * * Known limitation: for a tracked change that lives in a non-body * story (header, footer, footnote, endnote) on a page that is not * currently mounted in the DOM (virtualized), * `presentation.navigateTo` returns `false` — the non-body navigation * path activates the story surface via rendered DOM candidates, and * offscreen pages have none. Returns `{ success: false }` in that case. */ export declare function scrollRangeIntoView(editor: Editor, input: ScrollIntoViewInput): Promise; //# sourceMappingURL=scroll-into-view.d.ts.map