import type { NotebookDocument, TextLine, Uri } from 'vscode'; import { UriComponents } from '../../../util/vs/base/common/uri'; import { Position, Range, Selection } from '../../../util/common/test/shims/vscodeTypesShim'; export interface INotebookDocumentSnapshotJSON { readonly type: 'notebook'; readonly uri: UriComponents; readonly _text: string; readonly languageId: string; readonly version: number; readonly alternativeFormat: 'json' | 'xml' | 'text'; } export declare function isNotebookDocumentSnapshotJSON(thing: any): thing is INotebookDocumentSnapshotJSON; export declare class NotebookDocumentSnapshot { readonly alternativeFormat: 'json' | 'xml' | 'text'; private readonly _alternativeDocument; static create(doc: NotebookDocument, format: 'json' | 'xml' | 'text'): NotebookDocumentSnapshot; static fromNewText(text: string, doc: NotebookDocumentSnapshot): NotebookDocumentSnapshot; static fromJSON(doc: NotebookDocument, json: INotebookDocumentSnapshotJSON): NotebookDocumentSnapshot; readonly type = "notebook"; readonly document: NotebookDocument; readonly uri: Uri; readonly version: number; readonly languageId: string; private constructor(); getText(range?: Range): string; getSelection(): Selection; getWholeRange(): Range; get lines(): string[]; get lineCount(): number; lineAt(line: number): TextLine; lineAt(position: Position): TextLine; offsetAt(position: Position): number; positionAt(offset: number): Position; validateRange(range: Range): Range; validatePosition(position: Position): Position; toJSON(): INotebookDocumentSnapshotJSON; } //# sourceMappingURL=notebookDocumentSnapshot.d.ts.map