// @generated by jacquard-lexicon. DO NOT EDIT.
//
// Lexicon: world.ptah.temp.defs
//
// This file was automatically generated from Lexicon schemas.
// Any manual changes will be overwritten on the next regeneration.

//! Generated bindings for the `world.ptah.temp` Lexicon namespace/module.
pub mod action;
pub mod character;
pub mod contribution;
pub mod declaration;
pub mod event;
pub mod location;
pub mod lore;
pub mod role;
pub mod world;

use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
use jacquard_derive::IntoStatic;
use serde::{Serialize, Deserialize};
/// Record exists but is not recognized as part of any canonical timeline.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct CanonicalStatusApocryphal;
impl core::fmt::Display for CanonicalStatusApocryphal {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "canonicalStatusApocryphal")
    }
}

/// Record is community-contributed canon — valid but not originator-designated.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct CanonicalStatusCommunity;
impl core::fmt::Display for CanonicalStatusCommunity {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "canonicalStatusCommunity")
    }
}

/// Record is recognized as official canon within its world.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct CanonicalStatusOfficial;
impl core::fmt::Display for CanonicalStatusOfficial {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "canonicalStatusOfficial")
    }
}

/// Content originates as original intellectual property.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct SourceType;
impl core::fmt::Display for SourceType {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "sourceType")
    }
}

/// Content is created under a collaborative commons framework.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct SourceTypeCollaborativeCommons;
impl core::fmt::Display for SourceTypeCollaborativeCommons {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "sourceTypeCollaborativeCommons")
    }
}

/// Content originates as original intellectual property.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct SourceTypeOriginalIp;
impl core::fmt::Display for SourceTypeOriginalIp {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "sourceTypeOriginalIP")
    }
}

/// Content is derived from public domain source material.

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
pub struct SourceTypePublicDomain;
impl core::fmt::Display for SourceTypePublicDomain {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "sourceTypePublicDomain")
    }
}