import type * as vscode from "vscode"; import * as lsp from "vscode-languageserver-protocol"; import { TextDocument, TextDocumentContentChangeEvent, TextEdit } from "vscode-languageserver-textdocument"; import { URI } from "vscode-uri"; import * as types from "../shims/types"; /** * `TextDocument` class compatible to both {@link vscode.TextDocument} and * {@link TextDocument} from `vscode-languageserver-textdocument`. */ export declare class IsomorphicTextDocument implements vscode.TextDocument { protected readonly $documentModel: TextDocument; static create(uri: string, languageId: string, version: number, content: string): IsomorphicTextDocument; static update(document: IsomorphicTextDocument, changes: TextDocumentContentChangeEvent[], version: number): void; static applyEdits(document: IsomorphicTextDocument, edits: TextEdit[]): void; protected constructor($documentModel: TextDocument); readonly uri: URI; get version(): number; get languageId(): string; get lineCount(): number; encoding: string; offsetAt(position: vscode.Position | lsp.Position): number; getText(range?: vscode.Range | lsp.Range): string; positionAt: (offset: number) => types.Position; getWordRangeAtPosition: (position: vscode.Position) => types.Range | undefined; get fileName(): string; get isUntitled(): boolean; readonly eol = types.EndOfLine.LF; readonly isClosed = false; readonly isDirty = true; lineAt: (lineOrPosition: number | vscode.Position) => vscode.TextLine; save(): Thenable; validateRange(range: vscode.Range): vscode.Range; validatePosition(position: vscode.Position): vscode.Position; } //# sourceMappingURL=textdocument.d.ts.map