use async_trait::async_trait;
use crate::error::SteamError;
#[async_trait]
pub trait IAuthenticator: Send + Sync {
async fn get_device_code(
&self,
previous_code_was_incorrect: bool,
) -> Result<String, SteamError>;
async fn get_email_code(
&self,
email: &str,
previous_code_was_incorrect: bool,
) -> Result<String, SteamError>;
async fn accept_device_confirmation(&self) -> Result<bool, SteamError>;
}