// This file is generated by atrium-codegen. DO NOT EDIT.
//!Definitions for the `app.bsky.embed.external` namespace.
///A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MainData {
    pub external: External,
}
pub type Main = crate::types::Object<MainData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ExternalData {
    pub description: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub thumb: Option<crate::types::BlobRef>,
    pub title: String,
    pub uri: String,
}
pub type External = crate::types::Object<ExternalData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ViewData {
    pub external: ViewExternal,
}
pub type View = crate::types::Object<ViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ViewExternalData {
    pub description: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub thumb: Option<String>,
    pub title: String,
    pub uri: String,
}
pub type ViewExternal = crate::types::Object<ViewExternalData>;
