use crate::api::structs::file::File;
use crate::api::structs::mask_position::MaskPosition;
use crate::api::structs::photo_size::PhotoSize;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Sticker {
#[serde(rename(serialize = "type", deserialize = "type"))]
pub kind: String,
pub width: i64,
pub file_id: String,
pub file_unique_id: String,
pub height: i64,
pub is_animated: bool,
pub is_video: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub thumbnail: Option<PhotoSize>,
#[serde(skip_serializing_if = "Option::is_none")]
pub emoji: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub set_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub premium_animation: Option<File>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mask_position: Option<MaskPosition>,
#[serde(skip_serializing_if = "Option::is_none")]
pub custom_emoji_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub needs_repainting: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_size: Option<i64>,
}