import { Position } from '../../../util/vs/editor/common/core/position';
import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';
import { PositionOffsetTransformer } from '../../../util/vs/editor/common/core/text/positionToOffsetImpl';
/**
 * Represents the current document state along with the cursor position within it.
 *
 * Provides convenience methods for inspecting text around the cursor, such as
 * retrieving the cursor's line, the text after the cursor, and whether the
 * cursor sits at the end of a line.
 */
export declare class CurrentDocument {
    readonly content: StringText;
    /** Note that `cursorPosition`'s line and column numbers are 1-based. */
    readonly cursorPosition: Position;
    /** All lines of the document (split by line break). */
    readonly lines: string[];
    /** The 0-based character offset of the cursor within the full document text. */
    readonly cursorOffset: number;
    /** Converts between {@link Position} (line/column) and character offsets. */
    readonly transformer: PositionOffsetTransformer;
    /**
     * The 0-based line number of the cursor.
     */
    readonly cursorLineOffset: number;
    constructor(content: StringText, 
    /** Note that `cursorPosition`'s line and column numbers are 1-based. */
    cursorPosition: Position);
    /** Returns the full text of the line containing the cursor. */
    lineWithCursor(): string;
    /** Returns the substring of the cursor's line starting from the cursor column (inclusive). */
    textAfterCursor(): string;
    /**
     * Determines if the cursor is at the end of the line.
     */
    isCursorAtEndOfLine(): boolean;
}
//# sourceMappingURL=xtabCurrentDocument.d.ts.map