import { Editor, Element, Node } from '../../slate/index.ts'; import { RelativePosition, XmlText } from 'yjs'; export type DeltaAttributes = { retain: number; attributes: Record; }; export type DeltaRetain = { retain: number; }; export type DeltaDelete = { delete: number; }; export type DeltaInsert = { insert: string | XmlText; attributes?: Record; }; export type InsertDelta = Array; export type Delta = Array; export type TextRange = { start: number; end: number; }; export type HistoryStackItem = { meta: Map; }; export type YTarget = { textRange: TextRange; yParent: XmlText; slateParent: Element | Editor; yTarget?: XmlText; slateTarget?: Node; targetDelta: InsertDelta; }; export type RelativeRange = { anchor: RelativePosition; focus: RelativePosition; };