import { ChangeDesc } from "./change"; export declare class SelectionRange { readonly from: number; readonly to: number; private flags; get anchor(): number; get head(): number; get empty(): boolean; get assoc(): -1 | 0 | 1; get bidiLevel(): number | null; get goalColumn(): number | undefined; map(change: ChangeDesc): SelectionRange; extend(from: number, to?: number): SelectionRange; eq(other: SelectionRange): boolean; toJSON(): any; static fromJSON(json: any): SelectionRange; } export declare class EditorSelection { readonly ranges: readonly SelectionRange[]; readonly mainIndex: number; map(change: ChangeDesc): EditorSelection; eq(other: EditorSelection): boolean; get main(): SelectionRange; asSingle(): EditorSelection; addRange(range: SelectionRange, main?: boolean): EditorSelection; replaceRange(range: SelectionRange, which?: number): EditorSelection; toJSON(): any; static fromJSON(json: any): EditorSelection; static single(anchor: number, head?: number): EditorSelection; static create(ranges: readonly SelectionRange[], mainIndex?: number): EditorSelection; static cursor(pos: number, assoc?: number, bidiLevel?: number, goalColumn?: number): SelectionRange; static range(anchor: number, head: number, goalColumn?: number): SelectionRange; } export declare function checkSelection(selection: EditorSelection, docLength: number): void; //# sourceMappingURL=selection.d.ts.map