use serde::{Deserialize, Serialize};
use super::dedup::ActiveAlert;
use super::grouping::Incident;
use super::inhibit::InhibitSourceSnap;
use super::silence::SilenceSnap;
pub const SNAPSHOT_VERSION: u32 = 1;
#[derive(Debug, Serialize, Deserialize)]
pub struct AlertPipelineSnapshot {
pub version: u32,
#[serde(default)]
pub(crate) dedup: Vec<(String, ActiveAlert)>,
#[serde(default)]
pub(crate) incidents: Vec<Incident>,
#[serde(default)]
pub(crate) silences: Vec<SilenceSnap>,
#[serde(default)]
pub(crate) inhibit_sources: Vec<InhibitSourceSnap>,
}