using BuildingBlocks.Core.Event; namespace BuildingBlocks.Core; public interface IEventDispatcher { public Task SendAsync(IReadOnlyList events, Type type = null, CancellationToken cancellationToken = default) where T : IEvent; public Task SendAsync(T @event, Type type = null, CancellationToken cancellationToken = default) where T : IEvent; }