use crate::{
callback::{OnError, OnSuccess},
idle_manager::IdleManagerOptions,
};
#[cfg(feature = "native")]
pub mod native;
#[cfg(feature = "wasm-js")]
pub mod wasm_js;
#[derive(Clone, Default, bon::Builder)]
#[builder(on(String, into))]
pub struct AuthClientLoginOptions {
pub identity_provider: Option<String>,
pub max_time_to_live: Option<u64>,
pub allow_pin_authentication: Option<bool>,
pub derivation_origin: Option<String>,
pub window_opener_features: Option<String>,
#[builder(into)]
pub on_success: Option<OnSuccess>,
#[builder(into)]
pub on_error: Option<OnError>,
pub timeout: Option<std::time::Duration>,
pub custom_values: Option<serde_json::Map<String, serde_json::Value>>,
}
#[derive(Default, Clone, Debug, bon::Builder)]
pub struct IdleOptions {
pub disable_idle: Option<bool>,
pub disable_default_idle_callback: Option<bool>,
pub idle_manager_options: IdleManagerOptions,
}