using System;
using System.Threading.Tasks;
namespace VNLib.Tools.Build.Executor.Model
{
internal interface IArtifact : IDisposable
{
///
/// Invoked when the executor requests all created artifacts load async assets
/// and update state accordingly
///
/// The taskfile variable container
/// A task that completes when all assets are loaded
Task LoadAsync(TaskfileVars vars);
///
/// Invoked when the executor requests all artifacts cleanup assets that
/// may have been generated during a build process
///
/// A task that completes when all assest are cleaned
Task CleanAsync();
}
}