use crate::error::Result;
use crate::wami::credentials::MfaDevice;
use async_trait::async_trait;
#[async_trait]
pub trait MfaDeviceStore: Send + Sync {
async fn create_mfa_device(&mut self, device: MfaDevice) -> Result<MfaDevice>;
async fn get_mfa_device(&self, serial_number: &str) -> Result<Option<MfaDevice>>;
async fn delete_mfa_device(&mut self, serial_number: &str) -> Result<()>;
async fn list_mfa_devices(&self, user_name: &str) -> Result<Vec<MfaDevice>>;
}