import { Ref } from 'vue'; import { Path, Range, Text } from '../../slate/index.ts'; import { DOMEditor } from '../../slate-dom/index.ts'; import { JsonObject } from '@liveblocks/client'; import { CursorEditor, CursorState } from '../plugins/withCursors'; export declare function useOnResize(_ref: Ref, onResize: () => void): void; export type Store = readonly [() => () => void, Ref]; export declare function getCursorRange(editor: CursorEditor, cursorState: CursorState): Range | null; export type SelectionRect = { width: number; height: number; top: number; left: number; }; export type CaretPosition = { height: number; top: number; left: number; }; export type OverlayPosition = { caretPosition: CaretPosition | null; selectionRects: SelectionRect[]; }; export type GetSelectionRectsOptions = { xOffset: number; yOffset: number; shouldGenerateOverlay?: (node: Text, path: Path) => boolean; }; export declare function getOverlayPosition(editor: DOMEditor, range: Range, { yOffset, xOffset, shouldGenerateOverlay }: GetSelectionRectsOptions): OverlayPosition; export declare function domEditorToDomRangeSafe(editor: DOMEditor, range: Range): globalThis.Range | null;