//! # cfgmatic-reactive
//!
//! Reactive configuration management with subscriptions and change handlers.
//!
//! ## Architecture
//!
//! ```mermaid
//! graph TB
//!     subgraph "Domain Layer"
//!         S[Subscription]
//!         E[Event]
//!         H[Handler]
//!     end
//!
//!     subgraph "Application Layer"
//!         CM[ConfigManager]
//!         DP[Dispatcher]
//!     end
//!
//!     subgraph "Infrastructure Layer"
//!         FW[FileWatcher]
//!         R[Registry]
//!     end
//!
//!     CM --> S
//!     DP --> E
//!     DP --> H
//!     FW --> E
//! ```
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use cfgmatic_reactive::prelude::*;
//!
//! let manager = ConfigManager::new();
//! let subscription = Subscription::builder()
//!     .file("/etc/myapp/config.toml")
//!     .priority(10)
//!     .build();
//!
//! manager.subscribe(subscription)?;
//! # Ok::<(), ReactiveError>(())
//! ```

#![allow(clippy::multiple_crate_versions)]
#![warn(missing_docs)]

mod constants;

pub mod application;
pub mod config;
pub mod domain;
pub mod infrastructure;

pub mod prelude {
    //! Common imports - simplified API.
    pub use crate::application::*;
    pub use crate::config::*;
    pub use crate::domain::*;
    pub use crate::infrastructure::*;
}
