using System; using System.Threading.Tasks; using DataLayer; using Dinah.Core.ErrorHandling; namespace FileLiberator { public interface IProcessable : IStreamable { event EventHandler Begin; /// General string message to display. DON'T rely on this for success, failure, or control logic event EventHandler StatusUpdate; event EventHandler Completed; /// True == Valid bool Validate(LibraryBook libraryBook); /// True == success Task ProcessAsync(LibraryBook libraryBook); } }