use crate::{config::Config, Client, RequestOptions};
use super::{Speech, Transcriptions, Translations, VoiceConsents, Voices};
pub struct Audio<'c, C: Config> {
client: &'c Client<C>,
pub(crate) request_options: RequestOptions,
}
impl<'c, C: Config> Audio<'c, C> {
pub fn new(client: &'c Client<C>) -> Self {
Self {
client,
request_options: RequestOptions::new(),
}
}
pub fn speech(&self) -> Speech<'_, C> {
Speech::new(self.client)
}
pub fn transcription(&self) -> Transcriptions<'_, C> {
Transcriptions::new(self.client)
}
pub fn translation(&self) -> Translations<'_, C> {
Translations::new(self.client)
}
pub fn voice_consents(&self) -> VoiceConsents<'_, C> {
VoiceConsents::new(self.client)
}
pub fn voices(&self) -> Voices<'_, C> {
Voices::new(self.client)
}
}