using System; using System.Collections.Generic; namespace Svrnty.CQRS.Events.Abstractions.Discovery; /// /// Service for discovering all registered event types in the application. /// Similar to ICommandDiscovery and IQueryDiscovery, provides runtime access to event metadata. /// public interface IEventDiscovery { /// /// Get all registered event types. /// /// Collection of event metadata. IEnumerable GetEvents(); /// /// Get event metadata by name. /// /// The event name. /// Event metadata, or null if not found. IEventMeta? GetEvent(string name); /// /// Get event metadata by CLR type. /// /// The event type. /// Event metadata, or null if not found. IEventMeta? GetEvent(Type eventType); }