import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { Event, Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { Workspace as BaseWorkspace, WorkbenchState, IWorkspaceFolder, IWorkspaceFoldersChangeEvent, IWorkspaceFoldersWillChangeEvent, ISingleFolderWorkspaceIdentifier, IWorkspaceIdentifier, IAnyWorkspaceIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { ConfigurationModel } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationModels"; import { IConfigurationChangeEvent, ConfigurationTarget, IConfigurationOverrides, IConfigurationData, IConfigurationValue, IConfigurationUpdateOverrides, IConfigurationUpdateOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration"; import { IConfigurationCache, RestrictedSettings } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configuration/common/configuration"; import { IWorkbenchConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configuration/common/configuration.service"; import { IWorkspaceFolderCreationData } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspaces/common/workspaces"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service"; import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service"; import { IPolicyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/policy/common/policy.service"; import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service"; import { IBrowserWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service"; declare class Workspace extends BaseWorkspace { initialized: boolean; } export declare class WorkspaceService extends Disposable implements IWorkbenchConfigurationService, IWorkspaceContextService { private readonly userDataProfileService; private readonly userDataProfilesService; private readonly fileService; private readonly remoteAgentService; private readonly uriIdentityService; private readonly logService; _serviceBrand: undefined; private workspace; private initRemoteUserConfigurationBarrier; private completeWorkspaceBarrier; private readonly configurationCache; private _configuration; private initialized; private readonly defaultConfiguration; private readonly policyConfiguration; private applicationConfiguration; private readonly applicationConfigurationDisposables; private readonly localUserConfiguration; private readonly remoteUserConfiguration; private readonly workspaceConfiguration; private cachedFolderConfigs; private readonly workspaceEditingQueue; private readonly _onDidChangeConfiguration; readonly onDidChangeConfiguration: Event; protected readonly _onWillChangeWorkspaceFolders: Emitter; readonly onWillChangeWorkspaceFolders: Event; private readonly _onDidChangeWorkspaceFolders; readonly onDidChangeWorkspaceFolders: Event; private readonly _onDidChangeWorkspaceName; readonly onDidChangeWorkspaceName: Event; private readonly _onDidChangeWorkbenchState; readonly onDidChangeWorkbenchState: Event; private isWorkspaceTrusted; private _restrictedSettings; get restrictedSettings(): RestrictedSettings; private readonly _onDidChangeRestrictedSettings; readonly onDidChangeRestrictedSettings: Event; private readonly configurationRegistry; private instantiationService; private configurationEditing; constructor({ remoteAuthority, configurationCache }: { remoteAuthority?: string; configurationCache: IConfigurationCache; }, environmentService: IBrowserWorkbenchEnvironmentService, userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, fileService: IFileService, remoteAgentService: IRemoteAgentService, uriIdentityService: IUriIdentityService, logService: ILogService, policyService: IPolicyService); private createApplicationConfiguration; getCompleteWorkspace(): Promise; getWorkspace(): Workspace; getWorkbenchState(): WorkbenchState; hasWorkspaceData(): boolean; getWorkspaceFolder(resource: URI): IWorkspaceFolder | null; addFolders(foldersToAdd: IWorkspaceFolderCreationData[], index?: number): Promise; removeFolders(foldersToRemove: URI[]): Promise; updateFolders(foldersToAdd: IWorkspaceFolderCreationData[], foldersToRemove: URI[], index?: number): Promise; isInsideWorkspace(resource: URI): boolean; isCurrentWorkspace(workspaceIdOrFolder: IWorkspaceIdentifier | ISingleFolderWorkspaceIdentifier | URI): boolean; private doUpdateFolders; private setFolders; private contains; getConfigurationData(): IConfigurationData; getValue(): T; getValue(section: string): T; getValue(overrides: IConfigurationOverrides): T; getValue(section: string, overrides: IConfigurationOverrides): T; updateValue(key: string, value: unknown): Promise; updateValue(key: string, value: unknown, overrides: IConfigurationOverrides | IConfigurationUpdateOverrides): Promise; updateValue(key: string, value: unknown, target: ConfigurationTarget): Promise; updateValue(key: string, value: unknown, overrides: IConfigurationOverrides | IConfigurationUpdateOverrides, target: ConfigurationTarget, options?: IConfigurationUpdateOptions): Promise; reloadConfiguration(target?: ConfigurationTarget | IWorkspaceFolder): Promise; hasCachedConfigurationDefaultsOverrides(): boolean; inspect(key: string, overrides?: IConfigurationOverrides): IConfigurationValue; keys(): { default: string[]; policy: string[]; user: string[]; workspace: string[]; workspaceFolder: string[]; }; whenRemoteConfigurationLoaded(): Promise; /** * At present, all workspaces (empty, single-folder, multi-root) in local and remote * can be initialized without requiring extension host except following case: * * A multi root workspace with .code-workspace file that has to be resolved by an extension. * Because of readonly `rootPath` property in extension API we have to resolve multi root workspace * before extension host starts so that `rootPath` can be set to first folder. * * This restriction is lifted partially for web in `MainThreadWorkspace`. * In web, we start extension host with empty `rootPath` in this case. * * Related root path issue discussion is being tracked here - https://github.com/microsoft/vscode/issues/69335 */ initialize(arg: IAnyWorkspaceIdentifier): Promise; updateWorkspaceTrust(trusted: boolean): void; acquireInstantiationService(instantiationService: IInstantiationService): void; isSettingAppliedForAllProfiles(key: string): boolean; private createWorkspace; private createMultiFolderWorkspace; private createSingleFolderWorkspace; private createEmptyWorkspace; private checkAndMarkWorkspaceComplete; private updateWorkspaceAndInitializeConfiguration; private compareFolders; private initializeConfiguration; private reloadDefaultConfiguration; private reloadApplicationConfiguration; private reloadUserConfiguration; reloadLocalUserConfiguration(donotTrigger?: boolean, settingsConfiguration?: ConfigurationModel): Promise; private reloadRemoteUserConfiguration; private reloadWorkspaceConfiguration; private reloadWorkspaceFolderConfiguration; private loadConfiguration; private getWorkspaceConfigurationModel; private onUserDataProfileChanged; private onDefaultConfigurationChanged; private onPolicyConfigurationChanged; private onApplicationConfigurationChanged; private onLocalUserConfigurationChanged; private onRemoteUserConfigurationChanged; private onWorkspaceConfigurationChanged; private updateRestrictedSettings; private updateWorkspaceConfiguration; private handleWillChangeWorkspaceFolders; private onWorkspaceFolderConfigurationChanged; private onFoldersChanged; private loadFolderConfigurations; private validateWorkspaceFoldersAndReload; private toValidWorkspaceFolders; private writeConfigurationValue; private createConfigurationEditingService; private getConfigurationModelForEditableConfigurationTarget; getConfigurationModel(target: ConfigurationTarget, resource?: URI | null): ConfigurationModel | undefined; private deriveConfigurationTargets; private triggerConfigurationChange; private toEditableConfigurationTarget; } export {};