use anyhow::Result; #[cfg_attr(target_os = "linux", path = "unix.rs")] #[cfg_attr(target_os = "windows", path = "windows.rs")] #[cfg_attr(target_os = "macos", path = "macos.rs")] mod biometric; pub use biometric::Biometric; use crate::biometrics::{KeyMaterial, OsDerivedKey}; pub trait BiometricTrait { fn prompt(hwnd: Vec, message: String) -> Result; fn available() -> Result; fn derive_key_material(secret: Option<&str>) -> Result; fn set_biometric_secret( service: &str, account: &str, secret: &str, key_material: Option, iv_b64: &str, ) -> Result; fn get_biometric_secret( service: &str, account: &str, key_material: Option, ) -> Result; }