import type { HeftTaskPluginDefinition } from '../configuration/HeftPluginDefinition'; import type { HeftPhase, IHeftPhase } from './HeftPhase'; import type { IHeftConfigurationJsonTaskSpecifier } from '../utilities/CoreConfigFiles'; import type { IHeftTaskPlugin } from './IHeftPlugin'; import type { IScopedLogger } from './logging/ScopedLogger'; /** * @public */ export interface IHeftTask { readonly parentPhase: IHeftPhase; readonly taskName: string; readonly consumingTasks: ReadonlySet; readonly dependencyTasks: ReadonlySet; } /** * @internal */ export declare class HeftTask implements IHeftTask { private _parentPhase; private _taskName; private _taskSpecifier; private _consumingTasks; private _dependencyTasks; private _taskPluginDefinition; private _taskPlugin; get parentPhase(): HeftPhase; get taskName(): string; get consumingTasks(): ReadonlySet; get pluginDefinition(): HeftTaskPluginDefinition; get pluginOptions(): object | undefined; get dependencyTasks(): Set; constructor(parentPhase: HeftPhase, taskName: string, taskSpecifier: IHeftConfigurationJsonTaskSpecifier); ensureInitializedAsync(): Promise; getPluginAsync(logger: IScopedLogger): Promise>; private _loadTaskPluginDefinitionAsync; private _validate; } //# sourceMappingURL=HeftTask.d.ts.map