import { EditorSelection, SelectionRange, Transaction, ChangeSet } from "../../state/src"; import { EditorView } from "./editorview"; export declare class InputState { lastKeyCode: number; lastKeyTime: number; lastSelectionOrigin: string | null; lastSelectionTime: number; registeredEvents: string[]; customHandlers: { [key: string]: ((view: EditorView, event: Event) => boolean)[]; }; goalColumns: { pos: number; column: number; }[]; mouseSelection: MouseSelection | null; setSelectionOrigin(origin: string): void; constructor(view: EditorView); runCustomHandlers(type: string, view: EditorView, event: Event): boolean; startMouseSelection(view: EditorView, event: MouseEvent, update: MouseSelectionUpdate): void; update(transactions: Transaction[]): void; destroy(): void; } export declare type MouseSelectionUpdate = (view: EditorView, startSelection: EditorSelection, startPos: number, startBias: -1 | 1, curPos: number, curBias: -1 | 1, extend: boolean, multiple: boolean) => EditorSelection; declare class MouseSelection { private inputState; private view; private update; dragging: null | false | SelectionRange; startSelection: EditorSelection; startPos: number; startBias: -1 | 1; curPos: number; curBias: -1 | 1; extend: boolean; multiple: boolean; dragMove: boolean; constructor(inputState: InputState, view: EditorView, event: MouseEvent, update: MouseSelectionUpdate); queryPos(event: MouseEvent): { pos: number; bias: 1 | -1; }; move(event: MouseEvent): void; up(event: MouseEvent): void; destroy(): void; select(): void; map(changes: ChangeSet): void; } export {};