import { Emitter, Event } from "../../../base/common/event.js"; import { IDisposable, Disposable } from "../../../base/common/lifecycle.js"; import { URI } from "../../../base/common/uri.js"; import { ICodeEditor, IDiffEditor } from "../editorBrowser.js"; import { ICodeEditorOpenHandler } from "./codeEditorService.js"; import { ICodeEditorService } from "./codeEditorService.service.js"; import { IDecorationRenderOptions } from "../../common/editorCommon.js"; import { IModelDecorationOptions, ITextModel } from "../../common/model.js"; import { IResourceEditorInput } from "../../../platform/editor/common/editor.js"; import { IThemeService } from "../../../platform/theme/common/themeService.service.js"; export declare abstract class AbstractCodeEditorService extends Disposable implements ICodeEditorService { private readonly _themeService; readonly _serviceBrand: undefined; private readonly _onWillCreateCodeEditor; readonly onWillCreateCodeEditor: Event; private readonly _onCodeEditorAdd; readonly onCodeEditorAdd: Event; private readonly _onCodeEditorRemove; readonly onCodeEditorRemove: Event; private readonly _onWillCreateDiffEditor; readonly onWillCreateDiffEditor: Event; private readonly _onDiffEditorAdd; readonly onDiffEditorAdd: Event; private readonly _onDiffEditorRemove; readonly onDiffEditorRemove: Event; private readonly _onDidChangeTransientModelProperty; readonly onDidChangeTransientModelProperty: Event; protected readonly _onDecorationTypeRegistered: Emitter; onDecorationTypeRegistered: Event; private readonly _codeEditors; private readonly _diffEditors; protected _globalStyleSheet: GlobalStyleSheet | null; private readonly _decorationOptionProviders; private readonly _editorStyleSheets; private readonly _codeEditorOpenHandlers; constructor(_themeService: IThemeService); willCreateCodeEditor(): void; addCodeEditor(editor: ICodeEditor): void; removeCodeEditor(editor: ICodeEditor): void; listCodeEditors(): ICodeEditor[]; willCreateDiffEditor(): void; addDiffEditor(editor: IDiffEditor): void; removeDiffEditor(editor: IDiffEditor): void; listDiffEditors(): IDiffEditor[]; getFocusedCodeEditor(): ICodeEditor | null; private _getOrCreateGlobalStyleSheet; protected _createGlobalStyleSheet(): GlobalStyleSheet; private _getOrCreateStyleSheet; _removeEditorStyleSheets(editorId: string): void; registerDecorationType(description: string, key: string, options: IDecorationRenderOptions, parentTypeKey?: string, editor?: ICodeEditor): IDisposable; listDecorationTypes(): string[]; removeDecorationType(key: string): void; resolveDecorationOptions(decorationTypeKey: string, writable: boolean): IModelDecorationOptions; resolveDecorationCSSRules(decorationTypeKey: string): CSSRuleList | null; private readonly _transientWatchers; private readonly _modelProperties; setModelProperty(resource: URI, key: string, value: unknown): void; getModelProperty(resource: URI, key: string): unknown; setTransientModelProperty(model: ITextModel, key: string, value: unknown): void; getTransientModelProperty(model: ITextModel, key: string): unknown; getTransientModelProperties(model: ITextModel): [ string, unknown ][] | undefined; _removeWatcher(w: ModelTransientSettingWatcher): void; abstract getActiveCodeEditor(): ICodeEditor | null; openCodeEditor(input: IResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean): Promise; registerCodeEditorOpenHandler(handler: ICodeEditorOpenHandler): IDisposable; } export declare class ModelTransientSettingWatcher extends Disposable { readonly uri: string; private readonly _values; constructor(uri: string, model: ITextModel, owner: AbstractCodeEditorService); set(key: string, value: unknown): void; get(key: string): unknown; keys(): string[]; } export declare class GlobalStyleSheet { private readonly _styleSheet; get sheet(): CSSStyleSheet; constructor(styleSheet: HTMLStyleElement); ref(): void; unref(): void; insertRule(selector: string, rule: string): void; removeRulesContainingSelector(ruleName: string): void; } export declare const _CSS_MAP: { [prop: string]: string; };