import { EditorSelection, SelectionRange } from "@codemirror/next/state"; import { EditorView, DOMEventHandlers } from "./editorview"; import { ViewUpdate, PluginValue } from "./extension"; export declare class InputState { lastKeyCode: number; lastKeyTime: number; lastSelectionOrigin: string | null; lastSelectionTime: number; lastEscPress: number; scrollHandlers: ((event: Event) => boolean | void)[]; registeredEvents: string[]; customHandlers: readonly { plugin: PluginValue; handlers: DOMEventHandlers; }[]; composing: boolean; compositionEndedAt: number; mouseSelection: MouseSelection | null; notifiedFocused: boolean; setSelectionOrigin(origin: string): void; constructor(view: EditorView); ensureHandlers(view: EditorView): void; runCustomHandlers(type: string, view: EditorView, event: Event): boolean; runScrollHandlers(view: EditorView, event: Event): void; ignoreDuringComposition(event: Event): boolean; screenKeyEvent(view: EditorView, event: KeyboardEvent): boolean; mustFlushObserver(event: Event): boolean; startMouseSelection(view: EditorView, event: MouseEvent, style: MouseSelectionStyle): void; update(update: ViewUpdate): void; destroy(): void; } export declare const modifierCodes: number[]; export interface MouseSelectionStyle { get: (curEvent: MouseEvent, extend: boolean, multiple: boolean) => EditorSelection; update: (update: ViewUpdate) => void; } export declare type MakeSelectionStyle = (view: EditorView, event: MouseEvent) => MouseSelectionStyle | null; declare class MouseSelection { private inputState; private view; private startEvent; private style; dragging: null | false | SelectionRange; dragMove: boolean; extend: boolean; multiple: boolean; constructor(inputState: InputState, view: EditorView, startEvent: MouseEvent, style: MouseSelectionStyle); move(event: MouseEvent): void; up(event: MouseEvent): void; destroy(): void; select(event: MouseEvent): void; update(update: ViewUpdate): void; } export {}; //# sourceMappingURL=input.d.ts.map