#![warn(missing_debug_implementations)]
mod client;
mod crypto;
mod device_id;
mod error;
mod file_lock;
pub mod fingerprint_spec;
mod http;
mod inventory;
mod licensing;
mod platform;
mod release_access;
mod resolver;
mod store;
mod sub_product;
mod time;
mod types;
mod url;
mod validator;
pub mod version;
pub use crate::client::{LicenseClient, VERSION};
pub use crate::device_id::{DeviceIdDescription, DeviceIdResolver, MigratingDeviceIdResolver, StaticDeviceIdResolver};
pub use crate::error::{ApiError, Error, ErrorType, Result, StorageError};
#[cfg(feature = "ureq-transport")]
pub use crate::http::UreqTransport;
pub use crate::http::{HttpRequest, HttpResponse, HttpTransport, Method};
pub use crate::inventory::{DownloadTarget, InventoryClient, ReleaseInfo, can_download};
pub use crate::licensing::{Licensing, LicensingBuilder};
pub use crate::release_access::{ReleaseAccess, ReleaseNotCovered};
pub use crate::resolver::{
DeviceIdFallback, DeviceIdentity, DeviceIdentityReader, MoonbaseDeviceIdResolver, MoonbaseDeviceIdResolverOptions,
};
pub use crate::store::{FileLicenseStore, LicenseStore, MemoryLicenseStore, StoreLockGuard};
pub use crate::sub_product::{
SubProduct, SubProductCatalog, SubProductCatalogEntry, SubProductCatalogProduct, SubProductPricing,
SubProductRecurrence, SubProductSeats, SubProductTrialOffer, SubProductTrialStatus,
};
pub use crate::time::serde_iso8601;
pub use crate::types::{ActivationMethod, ActivationRequest, License, LicensingOptions, Platform, Product, User};
pub use crate::validator::LicenseValidator;
#[cfg(target_os = "android")]
pub use crate::platform::android;