import { CursorState } from '@getguru/slate-yjs-core'; import { BaseRange, BaseText, NodeEntry } from 'slate'; export declare const REMOTE_CURSOR_DECORATION_PREFIX = "remote-cursor-"; export declare const REMOTE_CURSOR_CARET_DECORATION_PREFIX = "remote-caret-"; export declare type RemoteCaretDecoration = Record> = { [key: `${typeof REMOTE_CURSOR_CARET_DECORATION_PREFIX}${string}`]: CursorState & { isBackward: boolean; }; }; export declare type RemoteCursorDecoration = Record> = { [key: `${typeof REMOTE_CURSOR_DECORATION_PREFIX}${string}`]: CursorState; }; export declare type RemoteCursorDecoratedRange = Record> = BaseRange & RemoteCursorDecoration; export declare type RemoteCaretDecoratedRange = Record> = BaseRange & RemoteCaretDecoration; export declare type TextWithRemoteCursors = Record> = BaseText & RemoteCursorDecoration & RemoteCaretDecoration; export declare function getRemoteCursorsOnLeaf, TLeaf extends TextWithRemoteCursors>(leaf: TLeaf): CursorState[]; export declare function getRemoteCaretsOnLeaf, TLeaf extends TextWithRemoteCursors>(leaf: TLeaf): (CursorState & { isBackward: boolean; })[]; export declare type UseDecorateRemoteCursorsOptions = { carets?: boolean; }; export declare function useDecorateRemoteCursors = Record>({ carets }?: UseDecorateRemoteCursorsOptions): (entry: NodeEntry) => (RemoteCursorDecoratedRange | RemoteCaretDecoratedRange)[]; //# sourceMappingURL=useDecorateRemoteCursors.d.ts.map