import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IStorageDatabase } from "@codingame/monaco-vscode-api/vscode/vs/base/parts/storage/common/storage"; import { IStorageValueChangeEvent, StorageScope, StorageTarget } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { IRemoteService } from "@codingame/monaco-vscode-api/vscode/vs/platform/ipc/common/services"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IUserDataProfile } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile"; import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service"; import { IUserDataProfileStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfileStorageService.service"; export interface IProfileStorageValueChanges { readonly profile: IUserDataProfile; readonly changes: IStorageValueChangeEvent[]; } export interface IProfileStorageChanges { readonly targetChanges: IUserDataProfile[]; readonly valueChanges: IProfileStorageValueChanges[]; } export interface IStorageValue { readonly value: string | undefined; readonly target: StorageTarget; readonly scope?: StorageScope; } export declare abstract class AbstractUserDataProfileStorageService extends Disposable implements IUserDataProfileStorageService { protected readonly storageService: IStorageService; _serviceBrand: undefined; readonly abstract onDidChange: Event; private readonly storageServicesMap; constructor(persistStorages: boolean, storageService: IStorageService); readStorageData(profile: IUserDataProfile): Promise>; updateStorageData(profile: IUserDataProfile, data: Map, target: StorageTarget, scope?: StorageScope): Promise; withProfileScopedStorageService(profile: IUserDataProfile, fn: (storageService: IStorageService) => Promise): Promise; private getItems; private writeItems; protected abstract createStorageDatabase(profile: IUserDataProfile): Promise; } export declare class RemoteUserDataProfileStorageService extends AbstractUserDataProfileStorageService implements IUserDataProfileStorageService { private readonly remoteService; private readonly _onDidChange; readonly onDidChange: Event; constructor(persistStorages: boolean, remoteService: IRemoteService, userDataProfilesService: IUserDataProfilesService, storageService: IStorageService, logService: ILogService); protected createStorageDatabase(profile: IUserDataProfile): Promise; }