use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SyncVoiceLibraryDto {
#[serde(rename = "providers", skip_serializing_if = "Option::is_none")]
pub providers: Option<Vec<ProvidersTrue>>,
}
impl SyncVoiceLibraryDto {
pub fn new() -> SyncVoiceLibraryDto {
SyncVoiceLibraryDto { providers: None }
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProvidersTrue {
#[serde(rename = "vapi")]
Vapi,
#[serde(rename = "11labs")]
Variant11labs,
#[serde(rename = "azure")]
Azure,
#[serde(rename = "cartesia")]
Cartesia,
#[serde(rename = "custom-voice")]
CustomVoice,
#[serde(rename = "deepgram")]
Deepgram,
#[serde(rename = "hume")]
Hume,
#[serde(rename = "lmnt")]
Lmnt,
#[serde(rename = "neuphonic")]
Neuphonic,
#[serde(rename = "openai")]
Openai,
#[serde(rename = "playht")]
Playht,
#[serde(rename = "rime-ai")]
RimeAi,
#[serde(rename = "smallest-ai")]
SmallestAi,
#[serde(rename = "tavus")]
Tavus,
#[serde(rename = "sesame")]
Sesame,
}
impl Default for ProvidersTrue {
fn default() -> ProvidersTrue {
Self::Vapi
}
}