//! Channel trait — the abstract interface every channel must implement.
use async_trait;
use CancellationToken;
use ChannelMessage;
/// A communication channel (CLI, Telegram, etc.) that can send and receive
/// [`ChannelMessage`] values.
///
/// All channels are required to be `Send + Sync` so they can be shared across
/// tokio tasks.