//! Server-side state types and Axum startup.
//!
//! Under `ssr`, re-exports the full `rustelo_server::run` module (Axum server
//! startup, shell renderer registration) in addition to all reactive state
//! types from `rustelo_core_lib::state`.

#[cfg(any(target_arch = "wasm32", feature = "leptos-hydration"))]
pub use rustelo_core_lib::state::{
    use_app_state, use_app_state_summary, use_auth_state, use_content_loader, use_current_language,
    use_language, use_language_switcher, use_meta_state, use_navigate, use_route_state, use_theme,
    use_ui_state, AppConfig, AppState, AppStateProvider, AppStateSummary, AuthState,
    ContentCacheStats, ContentLoaderProvider, LanguageContext, LanguageProvider, MetaState,
    NavigationContext, NavigationEvent, NavigationProvider, NavigationType, Notification,
    NotificationLevel, ReactiveContentLoader, RouteState, SocialMeta, ThemeState, UIState,
    UserInfo,
};
/// Axum server startup — register a shell renderer and launch the server.
///
/// `register_shell_renderer(fn)` injects the site-specific SSR shell into the
/// framework before calling `run_server()`.
#[cfg(feature = "ssr")]
pub use rustelo_server::run::{
    register_shell_renderer, render_ssr_with_context, render_ssr_with_route_resolution, run_main,
    run_server,
};
