using System; using Svrnty.CQRS.Events.Abstractions.EventStore; namespace Svrnty.CQRS.Events.Abstractions.EventStore; /// /// Base interface for all events that can be correlated to a command execution. /// Events are emitted during command processing and can be subscribed to by clients. /// public interface ICorrelatedEvent { /// /// Unique identifier for this event occurrence. /// string EventId { get; } /// /// Correlation ID linking this event to the command that caused it. /// Multiple events can share the same correlation ID. /// Set by the framework after event emission. /// string CorrelationId { get; set; } /// /// UTC timestamp when this event occurred. /// DateTimeOffset OccurredAt { get; } }