import { Position } from 'vscode-languageserver-textdocument';
export interface CursorQuery {
    isSuffixOf: (str: string) => boolean;
    isIn: (str: string) => boolean;
    isEqualTo: (str: string) => boolean;
    revert: (str: string) => string;
}
export interface CursorUpdate {
    insertAt: (str: string, pos: Position) => string;
}
export declare class Cursor implements CursorUpdate, CursorQuery {
    readonly value: string;
    constructor(value: string);
    insertAt(str: string, pos: Position): string;
    isSuffixOf(str: string): boolean;
    isIn(str: string): boolean;
    isEqualTo(str: string): boolean;
    revert(str: string): string;
}
export declare const defaultCursorPlaceholder = "_CURSOR_";
export declare const defaultCursor: Cursor;
