use crate::types::{InlineKeyboardMarkup, InputMessageContent, Integer, ParseMode};
#[derive(Debug, Serialize, Setters, New)]
#[new(vis = "pub")]
#[set(vis = "pub")]
pub struct InlineQueryResultGif {
#[serde(rename = "type")]
pub(crate) type_: String,
pub(crate) id: String,
pub(crate) gif_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) gif_width: Option<Integer>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) gif_height: Option<Integer>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) gif_duration: Option<Integer>,
pub(crate) thumb_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) caption: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) parse_mode: Option<ParseMode>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) reply_markup: Option<InlineKeyboardMarkup>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) input_message_content: Option<InputMessageContent>,
}