import { Event } from "../../../base/common/event.js"; import { StorageTarget } from "../../storage/common/storage.js"; import { IStorageService } from "../../storage/common/storage.service.js"; import { IUserDataProfile } from "./userDataProfile.js"; import { IProfileStorageChanges, IStorageValue } from "@codingame/monaco-vscode-user-data-profile-service-override/vscode/vs/platform/userDataProfile/common/userDataProfileStorageService"; export declare const IUserDataProfileStorageService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface IUserDataProfileStorageService { readonly _serviceBrand: undefined; /** * Emitted whenever data is updated or deleted in a profile storage or target of a profile storage entry changes */ readonly onDidChange: Event; /** * Return the requested profile storage data * @param profile The profile from which the data has to be read from */ readStorageData(profile: IUserDataProfile): Promise>; /** * Update the given profile storage data in the profile storage * @param profile The profile to which the data has to be written to * @param data Data that has to be updated * @param target Storage target of the data */ updateStorageData(profile: IUserDataProfile, data: Map, target: StorageTarget): Promise; /** * Calls a function with a storage service scoped to given profile. */ withProfileScopedStorageService(profile: IUserDataProfile, fn: (storageService: IStorageService) => Promise): Promise; }