using Prefab.Base;
namespace Prefab.Domain.Common;
///
/// Interface representation of an event in the domain model.
///
public interface IHasDomainEvents : IEvent
{
///
/// Gets the events of the entity.
///
IReadOnlyCollection Events { get; }
///
/// Adds an event to the entity.
///
public void AddEvent(Event e);
///
/// Removes an event from the entity.
///
public void RemoveEvent(Event e);
///
/// Clears all events from the entity.
///
public void ClearEvents();
}