use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
pub struct PollerV2MessageOut {
pub offset: u64,
#[serde(skip_serializing_if = "Option::is_none")]
pub headers: Option<std::collections::BTreeMap<String, String>>,
#[serde(rename = "eventId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(rename = "eventType")]
pub event_type: String,
pub payload: serde_json::Value,
#[serde(skip_serializing_if = "Option::is_none")]
pub channels: Option<std::collections::BTreeSet<String>>,
pub id: String,
pub timestamp: chrono::DateTime<chrono::Utc>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<std::collections::BTreeSet<String>>,
#[serde(rename = "deliverAt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deliver_at: Option<chrono::DateTime<chrono::Utc>>,
}