use crate::alert_system::{AlertNotification, AlertSeverity};
use async_trait::async_trait;
#[async_trait]
pub trait NotificationHandler: Send + Sync {
async fn send_notification(&self, notification: &AlertNotification) -> Result<(), NotificationError>;
}
#[derive(Debug, thiserror::Error)]
pub enum NotificationError {
#[error("Failed to send notification: {0}")]
SendError(String),
#[error("Channel configuration error: {0}")]
ConfigError(String),
}