//! Module for structs used to configure various internal service clients.
//!
//! On wasm32, only the pure-data submodules (`vars`, `errors`, `idp_provider`)
//! are available. `paths`, `source`, and `docker_env_file` resolve files via
//! `dirs` / `std::fs` and are native-only — wasm consumers must pass config
//! explicitly at construction time.

#[cfg(not(target_arch = "wasm32"))]
pub mod docker_env_file;
pub mod errors;
pub mod idp_provider;
#[cfg(not(target_arch = "wasm32"))]
pub mod paths;
#[cfg(not(target_arch = "wasm32"))]
mod source;
pub mod vars;

#[cfg(not(target_arch = "wasm32"))]
pub use docker_env_file::DockerEnvFile;
pub use errors::ConfigError;
#[cfg(not(target_arch = "wasm32"))]
pub use source::{
    CipherStashConfigFile, CipherStashConfigFileBuilder, CipherStashSecretConfigFile,
    CipherStashSecretConfigFileBuilder, ConfigSource, FileSource, IntoFileSource, UserConfigSource,
};
