use crate::ButtonStyle;
use serde::Serialize;
#[derive(Serialize, Debug, Clone)]
#[serde(rename_all = "snake_case", tag = "type")]
pub enum TextObject {
PlainText(PlainTextObject),
#[serde(rename = "mrkdwn")]
Markdown(MarkdownTextObject),
}
#[derive(Serialize, Debug, Clone)]
#[serde(rename_all = "snake_case")]
pub struct PlainTextObject {
pub text: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub emoji: Option<bool>,
}
#[derive(Serialize, Debug, Clone)]
#[serde(rename_all = "snake_case")]
pub struct MarkdownTextObject {
pub text: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub verbatim: Option<bool>,
}
#[derive(Serialize, Debug, Clone)]
#[serde(rename_all = "snake_case")]
pub struct ConfirmObect {
pub title: PlainTextObject,
pub text: TextObject,
pub confirm: PlainTextObject,
pub deny: PlainTextObject,
#[serde(skip_serializing_if = "ButtonStyle::is_default")]
pub style: ButtonStyle,
}