namespace Femto.Common.Integration;

public interface IEventBus : IEventPublisher
{
    public delegate Task Subscriber(IEvent evt, CancellationToken cancellationToken);
    void Subscribe(Subscriber subscriber);
    
}

public interface IEventPublisher
{
    Task Publish<T>(T evt) where T : IEvent;
}