using System.Threading.Tasks; namespace Tapeti.Saga { public interface ISagaProvider { Task> Begin(T initialState) where T : class; Task> Continue(string sagaId) where T : class; Task Continue(string sagaId); } }