use serde::{Deserialize, Serialize};
use super::guild::APIGuildMember;
pub type GatewayVoiceState = APIVoiceState;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct APIBaseVoiceState {
pub channel_id: Option<String>,
pub user_id: String,
pub member: Option<APIGuildMember>,
pub session_id: String,
pub deaf: bool,
pub mute: bool,
pub self_deaf: bool,
pub self_mute: bool,
pub self_stream: Option<bool>,
pub self_video: bool,
pub suppress: bool,
pub request_to_speak_timestamp: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct APIVoiceState {
#[serde(flatten)]
pub base: APIBaseVoiceState,
pub guild_id: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct APIVoiceRegion {
pub id: String,
pub name: String,
pub optimal: bool,
pub deprecated: bool,
pub custom: bool,
}