import { EditorView } from "./editorview"; import { LineView } from "./lineview"; declare global { interface Selection { modify(action: string, direction: string, granularity: string): void; } interface Document { caretPositionFromPoint(x: number, y: number): { offsetNode: Node; offset: number; }; } } export declare function movePos(view: EditorView, start: number, direction: "forward" | "backward" | "left" | "right", granularity: "character" | "word" | "line" | "lineboundary", action: "move" | "extend"): number; export declare class LineContext { line: LineView; start: number; index: number; constructor(line: LineView, start: number, index: number); static get(view: EditorView, pos: number): LineContext | null; nearViewportEnd(view: EditorView, side?: number): boolean; prepareForQuery(view: EditorView, pos: number): { lines: LineView[]; atWidget: boolean; }; undoQueryPreparation(view: EditorView, toSync: { lines: LineView[]; }): void; } export declare function posAtCoords(view: EditorView, { x, y }: { x: number; y: number; }, bias?: -1 | 1): number;