// This file is generated by atrium-codegen. DO NOT EDIT.
//!Definitions for the `com.atproto.label.defs` namespace.
///Metadata tag on an atproto resource (eg, repo or record)
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct Label {
    ///optionally, CID specifying the specific version of 'uri' resource this label applies to
    #[serde(skip_serializing_if = "Option::is_none")]
    pub cid: Option<String>,
    ///timestamp when this label was created
    pub cts: String,
    ///if true, this is a negation label, overwriting a previous label
    #[serde(skip_serializing_if = "Option::is_none")]
    pub neg: Option<bool>,
    ///DID of the actor who created this label
    pub src: String,
    ///AT URI of the record, repository (account), or other resource which this label applies to
    pub uri: String,
    ///the short string name of the value or type of this label
    pub val: String,
}
///Metadata tag on an atproto record, published by the author within the record. Note -- schemas should use #selfLabels, not #selfLabel.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SelfLabel {
    ///the short string name of the value or type of this label
    pub val: String,
}
///Metadata tags on an atproto record, published by the author within the record.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SelfLabels {
    pub values: Vec<SelfLabel>,
}
