//! Typed models for [Neos' API](https://wiki.neosvr.com/docfx/api) with serde support.
//!
//! Featuring time for date times and strum for better enums.
//!
//! Actual documentation of the API is lacking, and the API is still changing
//! too. Thus this crate can't guarantee that it's necessarily fully correct.
//! Some of the types are based solely on educated guesses.
//!
//! Check out <https://wiki.neosvr.com/docfx/api> if you're not using Rust and just want to learn about the API.
//!
//! ## Example usage
//!
//! ```rust
//! extern crate serde_json;
//!
//! // Normally you'd get the data by calling the API
//! let data = r#"{
//! "username": "ljoonal",
//! "userID": "U-ljoonal",
//! "isPresent": true,
//! "outputDevice": 2
//! }"#;
//!
//! let session_user: neos::SessionUser = serde_json::from_str(data).unwrap();
//!
//! assert_eq!(session_user.output_device, neos::OutputDevice::Screen);
//! ```
// Strum macros would cause warnings
// My project my choice, tabs are literally made for indentation, spaces not.
// The models are split into slightly smaller files in order to avoid a really
// long single file.
// Models that should match up with Neos' CloudX ones.
// They are re-exported at the top level though to make importing them easier /
// less confusing.
pub use *;
pub use *;