import { ITextModel, ITextBufferFactory, ITextSnapshot } from '@vscode-alt/monaco-editor/esm/vs/editor/common/model'; import { EditorModel, IModeSupport } from './editor-model'; import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri'; import { ITextEditorModel, IResolvedTextEditorModel } from '@vscode-alt/monaco-editor/esm/vs/editor/common/services/resolverService'; import { ILanguageSelection } from '@vscode-alt/monaco-editor/esm/vs/editor/common/services/modeService'; import { IModelService, IModeService } from '@workbench-stack/core'; export declare abstract class BaseTextEditorModel extends EditorModel implements ITextEditorModel, IModeSupport { protected modelService: IModelService; protected modeService: IModeService; protected textEditorModelHandle: URI | null; private createdEditorModel; private modelDisposeListener; constructor(modelService: IModelService, modeService: IModeService, textEditorModelHandle?: URI); getMode(): string; isDisposed(): boolean; private handleExistingModel; private registerModelDisposeListener; get textEditorModel(): ITextModel | null; abstract isReadonly(): boolean; setMode(mode: string): void; protected createTextEditorModel(value: ITextBufferFactory, resource: URI | undefined, preferredMode?: string): EditorModel; private doCreateTextEditorModel; protected getFirstLineText(value: ITextBufferFactory | ITextModel): string; protected getOrCreateMode(resource: URI | undefined, modeService: IModeService, preferredMode: string | undefined, firstLineText?: string): ILanguageSelection; protected updateTextEditorModel(newValue: ITextBufferFactory, preferredMode?: string): void; createSnapshot(this: IResolvedTextEditorModel): ITextSnapshot; createSnapshot(this: ITextEditorModel): ITextSnapshot | null; isResolved(): this is IResolvedTextEditorModel; dispose(): void; }