#![allow(clippy::module_name_repetitions)]
use serde::{Deserialize, Serialize};
use super::types::Message;
#[serde_with::skip_serializing_none]
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct MethodResponse<T> {
pub ok: bool,
pub description: Option<String>,
pub result: T,
}
#[serde_with::skip_serializing_none]
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct ErrorResponse {
pub ok: bool,
pub description: String,
pub error_code: u64,
pub parameters: Option<ResponseParameters>,
}
#[derive(Debug, Serialize, Deserialize, PartialEq)]
#[serde(untagged)]
pub enum MessageOrBool {
Message(Box<Message>),
Bool(bool),
}
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
#[serde_with::skip_serializing_none]
pub struct ResponseParameters {
pub migrate_to_chat_id: Option<i64>,
pub retry_after: Option<u16>,
}