import { IUserDataProfile, IUserDataProfileOptions, ProfileResourceType, ProfileResourceTypeFlags } from "../../../../platform/userDataProfile/common/userDataProfile.js"; import { RawContextKey } from "../../../../platform/contextkey/common/contextkey.js"; import { URI } from "../../../../base/common/uri.js"; import { ITreeItem, ITreeItemLabel } from "../../../common/views.js"; import { CancellationToken } from "../../../../base/common/cancellation.js"; import { IProductService } from "../../../../platform/product/common/productService.service.js"; export interface DidChangeUserDataProfileEvent { readonly previous: IUserDataProfile; readonly profile: IUserDataProfile; join(promise: Promise): void; } export interface IProfileTemplateInfo { readonly name: string; readonly url: string; } export interface IUserDataProfileTemplate { readonly name: string; readonly icon?: string; readonly settings?: string; readonly keybindings?: string; readonly tasks?: string; readonly snippets?: string; readonly globalState?: string; readonly extensions?: string; readonly mcp?: string; } export declare function isUserDataProfileTemplate(thing: unknown): thing is IUserDataProfileTemplate; export declare const PROFILE_URL_AUTHORITY = "profile"; export declare function toUserDataProfileUri(path: string, productService: IProductService): URI; export declare const PROFILE_URL_AUTHORITY_PREFIX = "profile-"; export declare function isProfileURL(uri: URI): boolean; export interface IUserDataProfileCreateOptions extends IUserDataProfileOptions { readonly name?: string; readonly resourceTypeFlags?: ProfileResourceTypeFlags; } export interface IProfileImportOptions extends IUserDataProfileCreateOptions { readonly name?: string; readonly icon?: string; readonly mode?: "apply"; } export interface IProfileResourceInitializer { initialize(content: string): Promise; } export interface IProfileResource { getContent(profile: IUserDataProfile): Promise; apply(content: string, profile: IUserDataProfile): Promise; } export interface IProfileResourceTreeItem extends ITreeItem { readonly type: ProfileResourceType; readonly label: ITreeItemLabel; isFromDefaultProfile(): boolean; getChildren(): Promise; getContent(): Promise; } export interface IProfileResourceChildTreeItem extends ITreeItem { parent: IProfileResourceTreeItem; } export interface ISaveProfileResult { readonly id: string; readonly link: URI; } export interface IUserDataProfileContentHandler { readonly name: string; readonly description?: string; readonly extensionId?: string; saveProfile(name: string, content: string, token: CancellationToken): Promise; readProfile(idOrUri: string | URI, token: CancellationToken): Promise; } export declare const defaultUserDataProfileIcon: import("../../../../base/common/themables.js").ThemeIcon; export declare const PROFILES_TITLE: import("../../../../nls.js").ILocalizedString; export declare const PROFILES_CATEGORY: { original: string; value: string; }; export declare const PROFILE_EXTENSION = "code-profile"; export declare const PROFILE_FILTER: { name: string; extensions: string[]; }[]; export declare const CURRENT_PROFILE_CONTEXT: RawContextKey; export declare const IS_CURRENT_PROFILE_TRANSIENT_CONTEXT: RawContextKey; export declare const HAS_PROFILES_CONTEXT: RawContextKey;