use crate::events::{Consumer, Emitter};

/// A Transformer is both a Consumer and an Emitter.
/// It consumes events from an upstream source and re-emits
/// (potentially modified or filtered) events to downstream consumers.
///
/// Note: This is a conceptual trait. In practice, transformers
/// will typically implement Consumer and provide their own
/// mechanism for re-emitting events.
pub trait Transformer: Consumer + Emitter {}
