import { Action, IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { IUserDataProfile, ProfileResourceType, ProfileResourceTypeFlags, UseDefaultProfileFlags } 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 { IProfileResourceChildTreeItem, IProfileTemplateInfo, IUserDataProfileTemplate } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile"; import { IUserDataProfileImportExportService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service"; import { IUserDataProfileManagementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service"; import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { EditorModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorModel"; import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service"; import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { ITreeItemCheckboxState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { ResourceMap } from "@codingame/monaco-vscode-api/vscode/vs/base/common/map"; import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service"; import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service"; import { IWorkbenchExtensionManagementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service"; export type ChangeEvent = { readonly name?: boolean; readonly icon?: boolean; readonly flags?: boolean; readonly workspaces?: boolean; readonly active?: boolean; readonly message?: boolean; readonly copyFrom?: boolean; readonly copyFromInfo?: boolean; readonly copyFlags?: boolean; readonly preview?: boolean; readonly profile?: boolean; readonly extensions?: boolean; readonly snippets?: boolean; readonly disabled?: boolean; readonly newWindowProfile?: boolean; }; export interface IProfileChildElement { readonly handle: string; readonly openAction?: IAction; readonly actions?: { readonly primary?: IAction[]; readonly contextMenu?: IAction[]; }; readonly checkbox?: ITreeItemCheckboxState; } export interface IProfileResourceTypeElement extends IProfileChildElement { readonly resourceType: ProfileResourceType; } export interface IProfileResourceTypeChildElement extends IProfileChildElement { readonly label: string; readonly description?: string; readonly resource?: URI; readonly icon?: ThemeIcon; } export declare function isProfileResourceTypeElement(element: IProfileChildElement): element is IProfileResourceTypeElement; export declare function isProfileResourceChildElement(element: IProfileChildElement): element is IProfileResourceTypeChildElement; export declare abstract class AbstractUserDataProfileElement extends Disposable { protected readonly userDataProfileManagementService: IUserDataProfileManagementService; protected readonly userDataProfilesService: IUserDataProfilesService; protected readonly commandService: ICommandService; protected readonly workspaceContextService: IWorkspaceContextService; protected readonly hostService: IHostService; protected readonly uriIdentityService: IUriIdentityService; protected readonly fileService: IFileService; protected readonly extensionManagementService: IWorkbenchExtensionManagementService; protected readonly instantiationService: IInstantiationService; protected readonly _onDidChange: Emitter; readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly saveScheduler; constructor(name: string, icon: string | undefined, flags: UseDefaultProfileFlags | undefined, workspaces: readonly URI[] | undefined, isActive: boolean, userDataProfileManagementService: IUserDataProfileManagementService, userDataProfilesService: IUserDataProfilesService, commandService: ICommandService, workspaceContextService: IWorkspaceContextService, hostService: IHostService, uriIdentityService: IUriIdentityService, fileService: IFileService, extensionManagementService: IWorkbenchExtensionManagementService, instantiationService: IInstantiationService); private _name; get name(): string; set name(name: string); private _icon; get icon(): string | undefined; set icon(icon: string | undefined); private _workspaces; get workspaces(): readonly URI[] | undefined; set workspaces(workspaces: readonly URI[] | undefined); private _flags; get flags(): UseDefaultProfileFlags | undefined; set flags(flags: UseDefaultProfileFlags | undefined); private _active; get active(): boolean; set active(active: boolean); private _message; get message(): string | undefined; set message(message: string | undefined); private _disabled; get disabled(): boolean; set disabled(saving: boolean); getFlag(key: ProfileResourceType): boolean; setFlag(key: ProfileResourceType, value: boolean): void; validate(): void; getChildren(resourceType?: ProfileResourceType): Promise; protected getChildrenForResourceType(resourceType: ProfileResourceType): Promise; protected getChildrenFromProfile(profile: IUserDataProfile, resourceType: ProfileResourceType): Promise; protected toUserDataProfileResourceChildElement(child: IProfileResourceChildTreeItem, primaryActions?: IAction[], contextMenuActions?: IAction[]): IProfileResourceTypeChildElement; getInitialName(): string; shouldValidateName(): boolean; getCurrentWorkspace(): URI | undefined; openWorkspace(workspace: URI): void; save(): void; private hasUnsavedChanges; protected saveProfile(profile: IUserDataProfile): Promise; abstract readonly titleButtons: [ Action[], Action[] ]; abstract readonly actions: [ IAction[], IAction[] ]; protected abstract doSave(): Promise; protected abstract getProfileToWatch(): IUserDataProfile | undefined; } export declare class UserDataProfileElement extends AbstractUserDataProfileElement { private _profile; readonly titleButtons: [ Action[], Action[] ]; readonly actions: [ IAction[], IAction[] ]; private readonly userDataProfileService; private readonly configurationService; get profile(): IUserDataProfile; constructor(_profile: IUserDataProfile, titleButtons: [ Action[], Action[] ], actions: [ IAction[], IAction[] ], userDataProfileService: IUserDataProfileService, configurationService: IConfigurationService, userDataProfileManagementService: IUserDataProfileManagementService, userDataProfilesService: IUserDataProfilesService, commandService: ICommandService, workspaceContextService: IWorkspaceContextService, hostService: IHostService, uriIdentityService: IUriIdentityService, fileService: IFileService, extensionManagementService: IWorkbenchExtensionManagementService, instantiationService: IInstantiationService); protected getProfileToWatch(): IUserDataProfile | undefined; reset(): void; updateWorkspaces(toAdd: URI[], toRemove: URI[]): void; toggleNewWindowProfile(): Promise; private _isNewWindowProfile; get isNewWindowProfile(): boolean; set isNewWindowProfile(isNewWindowProfile: boolean); toggleCurrentWindowProfile(): Promise; protected doSave(): Promise; protected getChildrenForResourceType(resourceType: ProfileResourceType): Promise; getInitialName(): string; } export declare class NewProfileElement extends AbstractUserDataProfileElement { readonly titleButtons: [ Action[], Action[] ]; readonly actions: [ IAction[], IAction[] ]; private readonly userDataProfileImportExportService; private _copyFromTemplates; get copyFromTemplates(): ResourceMap; private templatePromise; private template; private defaultName; private defaultIcon; constructor(copyFrom: URI | IUserDataProfile | undefined, titleButtons: [ Action[], Action[] ], actions: [ IAction[], IAction[] ], userDataProfileImportExportService: IUserDataProfileImportExportService, userDataProfileManagementService: IUserDataProfileManagementService, userDataProfilesService: IUserDataProfilesService, commandService: ICommandService, workspaceContextService: IWorkspaceContextService, hostService: IHostService, uriIdentityService: IUriIdentityService, fileService: IFileService, extensionManagementService: IWorkbenchExtensionManagementService, instantiationService: IInstantiationService); private _copyFrom; get copyFrom(): IUserDataProfile | URI | undefined; set copyFrom(copyFrom: IUserDataProfile | URI | undefined); private _copyFlags; get copyFlags(): ProfileResourceTypeFlags | undefined; set copyFlags(flags: ProfileResourceTypeFlags | undefined); private readonly previewProfileWatchDisposables; private _previewProfile; get previewProfile(): IUserDataProfile | undefined; set previewProfile(profile: IUserDataProfile | undefined); protected getProfileToWatch(): IUserDataProfile | undefined; private getCopyFlagsFrom; private initialize; private getNewProfileName; resolveTemplate(uri: URI): Promise; hasResource(resourceType: ProfileResourceType): boolean; getCopyFlag(key: ProfileResourceType): boolean; setCopyFlag(key: ProfileResourceType, value: boolean): void; getCopyFromName(): string | undefined; protected getChildrenForResourceType(resourceType: ProfileResourceType): Promise; private getChildrenFromProfileTemplate; shouldValidateName(): boolean; getInitialName(): string; protected doSave(): Promise; } export declare class UserDataProfilesEditorModel extends EditorModel { private readonly userDataProfileService; private readonly userDataProfilesService; private readonly userDataProfileManagementService; private readonly userDataProfileImportExportService; private readonly dialogService; private readonly telemetryService; private readonly hostService; private readonly productService; private readonly openerService; private readonly instantiationService; private static INSTANCE; static getInstance(instantiationService: IInstantiationService): UserDataProfilesEditorModel; private _profiles; get profiles(): AbstractUserDataProfileElement[]; private newProfileElement; private _onDidChange; readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private templates; constructor(userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, userDataProfileManagementService: IUserDataProfileManagementService, userDataProfileImportExportService: IUserDataProfileImportExportService, dialogService: IDialogService, telemetryService: ITelemetryService, hostService: IHostService, productService: IProductService, openerService: IOpenerService, instantiationService: IInstantiationService); private onDidChangeProfiles; getTemplates(): Promise; private createProfileElement; createNewProfile(copyFrom?: URI | IUserDataProfile): Promise; revert(): void; private removeNewProfile; private previewNewProfile; private exportNewProfile; saveNewProfile(transient?: boolean, token?: CancellationToken): Promise; private discardNewProfile; private removeProfile; private openWindow; }