import { IWorkspaceFolder, IWorkspaceData, IConfigurationService, WorkbenchState, IConfigurationChangeEvent, IWorkspaceFoldersChangeEvent, IWorkspaceFolderCreationData, ISingleFolderWorkspaceIdentifier, IWorkspaceIdentifier, IConfigurationData, IConfigurationOverrides, ConfigurationTarget, IConfigurationModel, IClientWorkspaceContextService } from '../../interfaces'; import { Workspace, ConfigurationModel } from '../../core'; import { WorkspaceConfiguration as Configuration } from '../../core/workspace/configuration'; import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri'; import { Event, Emitter } from '@vscode-alt/monaco-editor/esm/vs/base/common/event'; import { Disposable } from '@vscode-alt/monaco-editor/esm/vs/base/common/lifecycle'; import { Barrier } from '@vscode-alt/monaco-editor/esm/vs/base/common/async'; import { CdmLogger } from '@cdm-logger/core'; type ILogger = CdmLogger.ILogger; export declare abstract class AbstractWorkspaceService extends Disposable implements IConfigurationService, IClientWorkspaceContextService { protected workspace: Workspace; protected completeWorkspaceBarrier: Barrier; protected updateWorkspaceBarrier: Barrier; private _configuration; protected logger: ILogger; protected readonly _onDidChangeConfiguration: Emitter; readonly onDidChangeConfiguration: Event; protected readonly _onDidChangeWorkspaceFolders: Emitter; readonly onDidChangeWorkspaceFolders: Event; protected readonly _onDidChangeWorkspaceName: Emitter; readonly onDidChangeWorkspaceName: Event; protected readonly _onDidChangeWorkbenchState: Emitter; readonly onDidChangeWorkbenchState: Event; constructor(logger: ILogger); abstract extInitialize(): any; abstract initialize(args: any): any; getCompleteWorkspace(): Promise; getWorkspace(): Workspace; getWorkbenchState(): WorkbenchState; get configuration(): Configuration; set configuration(configuration: Configuration); getWorkspaceFolder(resource: URI): IWorkspaceFolder | null; abstract addFolders(foldersToAdd: IWorkspaceFolderCreationData[], index?: number): Promise; abstract removeFolders(foldersToRemove: URI[]): Promise; abstract updateFolders(foldersToAdd: IWorkspaceFolderCreationData[], foldersToRemove: URI[], index?: number): Promise; isInsideWorkspace(resource: URI): boolean; isCurrentWorkspace(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): boolean; getConfigurationData(): IConfigurationData; extAcceptConfigurationChanged(data: IConfigurationData, event: IConfigurationChangeEvent): void; extAcceptChangedWorkbenchState(workspace: IWorkspaceData, event: WorkbenchState): void; extAcceptChangedWorkspaceFolders(workspace: IWorkspaceData, event: IWorkspaceFoldersChangeEvent): void; extAcceptChangedWorkspaceName(workspace: IWorkspaceData): void; getValue(): T; getValue(section: string): T; getValue(overrides: IConfigurationOverrides): T; getValue(section: string, overrides: IConfigurationOverrides): T; abstract updateValue(key: string, value: any): Promise; abstract updateValue(key: string, value: any, overrides: IConfigurationOverrides): Promise; abstract updateValue(key: string, value: any, target: ConfigurationTarget): Promise; abstract updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget): Promise; abstract updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget, donotNotifyError: boolean): Promise; abstract updateValue(key: string, value: any, arg3?: any, arg4?: any, donotNotifyError?: any): Promise; abstract reloadConfiguration(folder?: IWorkspaceFolder): Promise; inspect(key: string, overrides?: IConfigurationOverrides): { default: T; user: T; userLocal?: T; userRemote?: T; workspace?: T; workspaceFolder?: T; memory?: T; value: T; }; keys(): { default: string[]; user: string[]; workspace: string[]; workspaceFolder: string[]; }; triggerConfigurationChange(arg0: any, WORKSPACE: any): void; static parse(data: IConfigurationData): Configuration; protected releaseWorkspaceBarrier(): void; protected releaseUpdateWorkspaceBarrier(): void; protected static parseConfigurationModel(model: IConfigurationModel): ConfigurationModel; protected reviveWorkspaceUris(workspaceData: IWorkspaceData): Workspace; } export {};