use std::future::Future; use crate::events::DomainEvent; pub trait EventPublisher { type Error; fn publish(&self, event: DomainEvent) -> impl Future> + Send; }