import { Result } from '@ephox/katamari'; import { type SugarElement } from '@ephox/sugar'; import { Chain } from './Chain'; export interface CursorRange { readonly start: SugarElement; readonly soffset: number; readonly finish: SugarElement; readonly foffset: number; } export interface CursorPath { readonly startPath: number[]; readonly soffset: number; readonly finishPath: number[]; readonly foffset: number; } declare const range: (obj: { start: SugarElement; soffset: number; finish: SugarElement; foffset: number; }) => CursorRange; declare const path: (obj: { startPath: number[]; soffset: number; finishPath: number[]; foffset: number; }) => CursorPath; export interface CursorSpec { readonly element: number[]; readonly offset: number; } export interface RangeSpec { readonly start: CursorSpec; readonly finish?: CursorSpec; } declare const pathFrom: (spec: CursorSpec | RangeSpec) => CursorPath; declare const follow: (container: SugarElement, calcPath: number[]) => Result, string>; declare const followPath: (container: SugarElement, calcPath: CursorPath) => Result; declare const cFollowPath: (calcPath: CursorPath) => Chain, CursorRange>; declare const cFollowCursor: (elementPath: number[], offset: number) => Chain, CursorRange>; declare const cFollow: (elementPath: number[]) => Chain, SugarElement>; declare const cToRange: Chain<{ start: SugarElement; soffset: number; finish: SugarElement; foffset: number; }, CursorRange>; declare const cToPath: Chain<{ startPath: number[]; soffset: number; finishPath: number[]; foffset: number; }, CursorPath>; declare const calculate: (container: SugarElement, calcPath: CursorPath) => CursorRange; declare const calculateOne: (container: SugarElement, calcPath: number[]) => SugarElement; export { range, path, pathFrom, follow, followPath, cFollow, cFollowPath, cFollowCursor, cToRange, cToPath, calculate, calculateOne }; //# sourceMappingURL=Cursors.d.ts.map