#[cfg(feature = "builders")]
use bon::Builder;
use serde::{Deserialize, Serialize};
#[cfg(feature = "catch-all-fields")]
use serde_json::Value;
use super::commom_types::{AnyDocument, DatabaseCollection, DocumentId, Timestamp};
#[non_exhaustive]
#[cfg_attr(feature = "builders", derive(Builder))]
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ChangeDropDatabaseEvent {
#[serde(rename = "_id")]
id: DocumentId,
#[serde(default)]
cluster_time: Option<Timestamp>,
#[serde(default)]
#[serde(rename = "lsid")]
ls_id: Option<AnyDocument>,
ns: DatabaseCollection,
#[serde(default)]
txn_number: Option<String>,
#[cfg(feature = "catch-all-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
#[serde(flatten)]
#[cfg_attr(feature = "builders", builder(default))]
pub other: serde_json::Map<String, Value>,
}