import URI from '@theia/core/lib/common/uri'; import { Emitter, Event } from '@theia/core/lib/common/event'; import { EditorManager, EditorWidget } from '@theia/editor/lib/browser'; import { PreferenceScope, PreferenceService, DisposableCollection, PreferenceProviderProvider } from '@theia/core/lib/common'; import { QuickPickService } from '@theia/core/lib/common/quick-pick-service'; import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service'; import { TaskConfigurationModel } from './task-configuration-model'; import { TaskTemplateSelector } from './task-templates'; import { TaskCustomization, TaskConfiguration, TaskConfigurationScope } from '../common/task-protocol'; import { WorkspaceVariableContribution } from '@theia/workspace/lib/browser/workspace-variable-contribution'; import { FileChangeType } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; import { PreferenceConfigurations } from '@theia/core/lib/common/preferences/preference-configurations'; import { FileService } from '@theia/filesystem/lib/browser/file-service'; import { TaskSchemaUpdater } from './task-schema-updater'; import { PreferenceProvider } from '@theia/core/lib/common/preferences/preference-provider'; export interface TasksChange { scope: TaskConfigurationScope; type: FileChangeType; } /** * This class connects the the "tasks" preferences sections to task system: it collects tasks preference values and * provides them to the task system as raw, parsed JSON. */ export declare class TaskConfigurationManager { protected readonly workspaceService: WorkspaceService; protected readonly editorManager: EditorManager; protected readonly quickPickService: QuickPickService; protected readonly fileService: FileService; protected readonly preferenceService: PreferenceService; protected readonly taskSchemaProvider: TaskSchemaUpdater; protected readonly preferenceProviderProvider: PreferenceProviderProvider; protected readonly preferenceConfigurations: PreferenceConfigurations; protected readonly workspaceVariables: WorkspaceVariableContribution; protected readonly taskTemplateSelector: TaskTemplateSelector; protected readonly onDidChangeTaskConfigEmitter: Emitter; readonly onDidChangeTaskConfig: Event; protected readonly models: Map; protected workspaceDelegate: PreferenceProvider | undefined; protected init(): void; protected createModels(): void; protected updateModels: () => Promise; getTasks(scope: TaskConfigurationScope): (TaskCustomization | TaskConfiguration)[]; getTask(name: string, scope: TaskConfigurationScope): TaskCustomization | TaskConfiguration | undefined; openConfiguration(scope: TaskConfigurationScope): Promise; addTaskConfiguration(scope: TaskConfigurationScope, taskConfig: TaskCustomization): Promise; setTaskConfigurations(scope: TaskConfigurationScope, taskConfigs: (TaskCustomization | TaskConfiguration)[]): Promise; protected getModel(scope: TaskConfigurationScope): TaskConfigurationModel | undefined; protected doOpen(model: TaskConfigurationModel, configURI: URI): Promise; protected doCreate(model: TaskConfigurationModel, configURI: URI): Promise; protected getMatchingPreferenceScope(scope: TaskConfigurationScope): PreferenceScope; protected getInitialConfigurationContent(): Promise; protected readonly toDisposeOnDelegateChange: DisposableCollection; protected updateWorkspaceModel(): void; } export declare namespace TaskConfigurationManager { interface Data { current?: { name: string; workspaceFolderUri?: string; }; } } //# sourceMappingURL=task-configuration-manager.d.ts.map