use crate::models;
use serde::{Deserialize, Serialize};
use super::{ButtonsTemplate, CarouselTemplate, ConfirmTemplate, ImageCarouselTemplate};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum Template {
#[serde(rename = "buttons")]
ButtonsTemplate(ButtonsTemplate),
#[serde(rename = "carousel")]
CarouselTemplate(CarouselTemplate),
#[serde(rename = "confirm")]
ConfirmTemplate(ConfirmTemplate),
#[serde(rename = "image_carousel")]
ImageCarouselTemplate(ImageCarouselTemplate),
}
impl Default for Template {
fn default() -> Self {
Self::ButtonsTemplate(ButtonsTemplate::default())
}
}