using System.Collections.Generic; using System.Threading.Tasks; using Gallium; namespace Nitride.Pipelines; /// /// Implements the basic signature for a pipeline, a distinct unit of /// processing that reads, manipulates, and writes data. /// public interface IPipeline { /// /// Gets the dependencies for the pipeline. /// IEnumerable GetDependencies(); /// /// Performs various operations such as reading, writing, and /// transformation on the given entities before returning a new /// collection, which may or may not include some of the original /// entities. /// /// The entities to process. /// The resulting entities after the process runs. Task> RunAsync(IEnumerable entities); }