import { TablePrimary } from "..";
interface Position {
    lineNumber: number;
    column: number;
}
/**
 * Utility functions to query cursor related information.
 */
export interface CursorQuery {
    removeFrom: (str: string) => string;
    isSuffixOf: (str: string) => boolean;
    isIn: (str: string) => boolean;
    isEqualTo: (str: string) => boolean;
}
/**
 * Utility function to insert a string cursor into a string.
 */
export interface CursorUpdate {
    insertAt: (str: string, pos: Position) => string;
}
/**
 * Utility class to work with a string cursor.
 */
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;
    removeFrom(str: string): string;
    removeFrom(tp: TablePrimary): TablePrimary;
    isEqualTo(str: string): boolean;
}
export {};
//# sourceMappingURL=Cursor.d.ts.map