import { IDisposable, Disposable } from '@vscode-alt/monaco-editor/esm/vs/base/common/lifecycle'; import { Event } from '@vscode-alt/monaco-editor/esm/vs/base/common/event'; import { CdmLogger } from '@cdm-logger/core'; import { Configuration, ConfigurationModel } from '../../core'; import { IClientConfigurationService, IConfigurationData, IConfigurationOverrides, ConfigurationTarget, IConfigurationModel, IConfigurationChangeEvent, IWorkspaceFolder } from '../../interfaces'; type ILogger = CdmLogger.ILogger; export declare abstract class AbstractConfigurationClientService extends Disposable implements IClientConfigurationService, IDisposable { private _configuration; protected logger: ILogger; constructor(logger: ILogger); private readonly _onDidChangeConfiguration; readonly onDidChangeConfiguration: Event; abstract extInitialize(): any; get configuration(): Configuration; set configuration(configuration: Configuration); getConfigurationData(): IConfigurationData; getValue(): T; getValue(section: string): T; getValue(overrides: IConfigurationOverrides): T; getValue(section: string, overrides: IConfigurationOverrides): T; updateValue(key: string, value: any): Promise; updateValue(key: string, value: any, overrides: IConfigurationOverrides): Promise; updateValue(key: string, value: any, target: ConfigurationTarget): Promise; updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget): Promise; inspect(key: string): { default: T; user: T; workspace?: T; workspaceFolder?: T; value: T; }; keys(): { default: string[]; user: string[]; workspace: string[]; workspaceFolder: string[]; }; abstract reloadConfiguration(folder?: IWorkspaceFolder): Promise; extAcceptConfigurationChanged(data: IConfigurationData, event: IConfigurationChangeEvent): void; static parse(data: IConfigurationData): Configuration; protected static parseConfigurationModel(model: IConfigurationModel): ConfigurationModel; } export {};