#[cfg(feature = "audio")]
pub mod audio;
#[cfg(feature = "gpio")]
pub mod gpio;
#[cfg(feature = "bluetooth")]
pub mod bluetooth;
#[cfg(feature = "network")]
pub mod network;
#[cfg(feature = "camera")]
pub mod camera;
#[cfg(feature = "usb")]
pub mod usb;
#[cfg(feature = "audio")]
pub use audio::{
AudioBuffer, AudioCapture, AudioConfig, AudioDevice, AudioError, AudioPlayback, AudioResult,
AudioRingBuffer, DeviceDirection, OutputFormat, SampleFormat, SpeechToText, SttOptions,
TextToSpeech, Transcript, TranscriptSegment, TtsOptions, Voice,
};
#[cfg(feature = "audio")]
pub use audio::{decode_wav, encode_wav};
#[cfg(feature = "audio")]
pub use audio::{
AzureStt, AzureTts, CartesiaTts, DeepgramStt, DeepgramTts, ElevenLabsStt, ElevenLabsTts,
FishStt, FishTts, GoogleTts, MurfTts, OpenAiResponsesStt, OpenAiResponsesTts, OpenAiStt,
OpenAiTts,
};
#[cfg(feature = "audio")]
pub use audio::{CpalCapture, CpalPlayback};
#[cfg(all(feature = "audio", feature = "flac"))]
pub use audio::{decode_flac, encode_flac};
#[cfg(all(feature = "audio", feature = "local-stt"))]
pub use audio::WhisperStt;
#[cfg(feature = "gpio")]
pub use gpio::{GpioChipInfo, GpioLineInfo, GpioPin, GpioPinManager, GpioSafetyPolicy};
#[cfg(feature = "camera")]
pub use camera::{
CameraCapture, CameraDevice, CameraError, CameraFormat, CameraFrame, FrameRate, NokhwaCapture,
PixelFormat, Resolution,
};
#[cfg(feature = "usb")]
pub use usb::{UsbClass, UsbDevice, UsbError, UsbHandle, UsbSpeed};
#[cfg(feature = "audio")]
pub use audio::{EnergyVad, SpeechSegment, VoiceActivityDetector};
#[cfg(feature = "vad")]
pub use audio::{VadMode, WebRtcVad};
#[cfg(feature = "wake-word-porcupine")]
pub use audio::PorcupineDetector;
#[cfg(feature = "wake-word-rustpotter")]
pub use audio::RustpotterDetector;
#[cfg(any(
feature = "wake-word",
feature = "wake-word-rustpotter",
feature = "wake-word-porcupine"
))]
pub use audio::{EnergyTriggerDetector, WakeWordDetection, WakeWordDetector};
#[cfg(feature = "voice-assistant")]
pub use audio::{
AssistantState, VoiceAssistant, VoiceAssistantBuilder, VoiceAssistantConfig,
VoiceAssistantHandler,
};