import { Observable } from 'rxjs'; import { ITextModel, ITextBufferFactory } from '@vscode-alt/monaco-editor/esm/vs/editor/common/model'; import { ILanguageSelection } from '@vscode-alt/monaco-editor/esm/vs/editor/common/services/modeService'; import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri'; import { IModelService as IEditorModelService } from '@vscode-alt/monaco-editor/esm/vs/editor/common/services/modelService'; export declare const enum ModelActionType { 'add' = 0, 'remove' = 1, 'removeAll' = 2, 'onDirty' = 3, 'onSave' = 4, 'changeContent' = 5 } /** * The model service manages document contents and metadata. * * see {@link Model} for an explanation of the difference between a model and an editor. */ export interface IModelService extends Pick> { /** * Adds a model. * * @param model The model to add. */ createModel(value: string | ITextBufferFactory, languageSelection: string | ILanguageSelection, resource: URI, isForSimpleWidget?: boolean): ITextModel; onModelAdded: Observable; onModelRemoved: Observable; onModelModeChanged: Observable<{ model: ITextModel; oldModeId: string; }>; }