import type { EndOfLine, TextDocument, TextLine, Uri } from 'vscode'; import { UriComponents } from '../../../util/vs/base/common/uri'; import { Position, Range } from '../../../util/common/test/shims/vscodeTypesShim'; import { PositionOffsetTransformer } from './positionOffsetTransformer'; export interface ITextDocumentSnapshotJSON { readonly uri: UriComponents; readonly _text: string; readonly languageId: string; readonly version: number; readonly eol: EndOfLine; } export declare function isTextDocumentSnapshotJSON(thing: any): thing is ITextDocumentSnapshotJSON; export declare class TextDocumentSnapshot { _textDocumentSnapshot: undefined; static create(doc: TextDocument): TextDocumentSnapshot; static fromNewText(text: string, doc: TextDocument | TextDocumentSnapshot): TextDocumentSnapshot; static fromJSON(doc: TextDocument, json: ITextDocumentSnapshotJSON): TextDocumentSnapshot; readonly document: TextDocument; readonly uri: Uri; readonly _text: string; readonly languageId: string; readonly version: number; readonly eol: EndOfLine; private _transformer; get transformer(): PositionOffsetTransformer; get fileName(): string; get isUntitled(): boolean; get lineCount(): number; private _lines; get lines(): readonly string[]; private constructor(); lineAt(line: number): TextLine; lineAt(position: Position): TextLine; offsetAt(position: Position): number; positionAt(offset: number): Position; getText(range?: Range): string; private _getTextInRange; getWordRangeAtPosition(_position: Position): Range | undefined; validateRange(range: Range): Range; validatePosition(position: Position): Position; toJSON(): ITextDocumentSnapshotJSON; } export declare class SnapshotDocumentLine implements TextLine { private readonly _line; private readonly _text; private readonly _isLastLine; constructor(line: number, text: string, isLastLine: boolean); get lineNumber(): number; get text(): string; get range(): Range; get rangeIncludingLineBreak(): Range; get firstNonWhitespaceCharacterIndex(): number; get isEmptyOrWhitespace(): boolean; } //# sourceMappingURL=textDocumentSnapshot.d.ts.map