use alloc::{collections::BTreeMap, string::String};
use serde::{Deserialize, Serialize};
pub mod changes;
pub mod get;
pub mod query;
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JmapCalendarEvent {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub base_event_id: Option<String>,
#[serde(default, skip_serializing_if = "BTreeMap::is_empty")]
pub calendar_ids: BTreeMap<String, bool>,
#[serde(default)]
pub is_draft: bool,
#[serde(default)]
pub is_origin: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub utc_start: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub utc_end: Option<String>,
#[serde(flatten)]
pub event: serde_json::Map<String, serde_json::Value>,
}