import { Task, TaskExecution, TaskProvider } from 'vscode'; import { IRPCProtocol } from '@opensumi/ide-connection'; import { Event, IDisposable } from '@opensumi/ide-core-common'; import { IExtensionProps } from '../../../../common'; import { IExtHostTerminal, IExtHostWorkspace, IExtensionDescription } from '../../../../common/vscode'; import * as types from '../../../../common/vscode/ext-types'; import { IExtHostTasks, IMainThreadTasks, TaskDTO, TaskExecutionDTO, TaskProcessEndedDTO, TaskProcessStartedDTO, TaskSetDTO } from '../../../../common/vscode/tasks'; import { TaskDto } from './taskTypes'; import type vscode from 'vscode'; declare namespace TaskDTO { function fromMany(tasks: vscode.Task[], extension: IExtensionProps): TaskDTO[]; function from(value: vscode.Task, extension: IExtensionProps): TaskDTO | undefined; function to(value: TaskDTO | undefined, extHostWorkspace: IExtHostWorkspace, providedCustomExecutions: Map): Promise; } export declare class ExtHostTasks implements IExtHostTasks { private rpcProtocol; protected readonly terminalService: IExtHostTerminal; protected readonly extHostWorkspace: IExtHostWorkspace; private handlerCounter; private taskHandlers; private providedCustomExecutions2; private notProvidedCustomExecutions; private _taskExecutions; protected readonly proxy: IMainThreadTasks; private readonly _onDidExecuteTask; private readonly _onDidTerminateTask; private readonly _onDidTaskProcessStarted; private readonly _onDidTaskProcessEnded; constructor(rpcProtocol: IRPCProtocol, terminalService: IExtHostTerminal, extHostWorkspace: IExtHostWorkspace); $onDidStartTask(execution: TaskExecutionDTO, terminalId: string): Promise; get onDidStartTask(): Event; $onDidEndTask(execution: TaskExecutionDTO): Promise; get onDidEndTask(): Event; $onDidStartTaskProcess(value: TaskProcessStartedDTO): Promise; get onDidStartTaskProcess(): Event; $onDidEndTaskProcess(value: TaskProcessEndedDTO): Promise; get onDidEndTaskProcess(): Event; get taskExecutions(): ReadonlyArray; terminateTask(execution: vscode.TaskExecution): void; registerTaskProvider(type: string, provider: TaskProvider, extension: IExtensionProps): IDisposable; private getTaskExecution; executeTask(task: Task, extension: IExtensionProps): Promise; fetchTasks(filter?: vscode.TaskFilter | undefined): Promise; private addCustomExecution; $provideTask(handler: number, validTypes: Record): Promise; $resolveTask(handle: number, taskDTO: TaskDto): Promise; } export declare function createTaskApiFactory(extHostTasks: IExtHostTasks, extension: IExtensionDescription): typeof vscode.tasks; export {}; //# sourceMappingURL=ext.host.tasks.d.ts.map