use serde::{Deserialize, Serialize};
#[cfg(doc)]
use crate::{Account, Collection, Item};
mod shared;
pub use self::shared::*;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[serde(tag = "name", rename_all = "kebab-case")]
#[non_exhaustive]
pub enum Extension<E = ()> {
Shared(SharedExtension),
#[serde(untagged)]
External(E),
#[serde(untagged)]
Unknown(serde_json::Value),
}