#![allow(unused_imports)]
use serde::{Deserialize, Serialize};
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct CategoryAppliedInputTypes {
pub harassment: Vec<String>,
#[serde(rename = "harassment/threatening")]
pub harassment_threatening: Vec<String>,
pub hate: Vec<String>,
#[serde(rename = "hate/threatening")]
pub hate_threatening: Vec<String>,
pub illicit: Vec<String>,
#[serde(rename = "illicit/violent")]
pub illicit_violent: Vec<String>,
#[serde(rename = "self-harm")]
pub self_harm: Vec<serde_json::Value>,
#[serde(rename = "self-harm/instructions")]
pub self_harm_instructions: Vec<serde_json::Value>,
#[serde(rename = "self-harm/intent")]
pub self_harm_intent: Vec<serde_json::Value>,
pub sexual: Vec<serde_json::Value>,
#[serde(rename = "sexual/minors")]
pub sexual_minors: Vec<String>,
pub violence: Vec<serde_json::Value>,
#[serde(rename = "violence/graphic")]
pub violence_graphic: Vec<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct ModerationCreateParams {
pub input: serde_json::Value,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub model: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum ModerationModel {
#[serde(rename = "omni-moderation-latest")]
OmniModerationLatest,
#[serde(rename = "omni-moderation-2024-09-26")]
OmniModeration20240926,
#[serde(rename = "text-moderation-latest")]
TextModerationLatest,
#[serde(rename = "text-moderation-stable")]
TextModerationStable,
}