use super::list::config::EnvelopeListConfig;
#[cfg(feature = "sync")]
use super::sync::config::EnvelopeSyncConfig;
#[cfg(feature = "thread")]
use super::thread::config::EnvelopeThreadConfig;
#[cfg(feature = "watch")]
use super::watch::config::WatchEnvelopeConfig;
#[derive(Clone, Debug, Default, Eq, PartialEq)]
#[cfg_attr(
feature = "derive",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "kebab-case")
)]
pub struct EnvelopeConfig {
pub list: Option<EnvelopeListConfig>,
#[cfg(feature = "thread")]
pub thread: Option<EnvelopeThreadConfig>,
#[cfg(feature = "watch")]
pub watch: Option<WatchEnvelopeConfig>,
#[cfg(feature = "sync")]
pub sync: Option<EnvelopeSyncConfig>,
}