namespace SIGCM.Application.Interfaces;

public interface IAuthService
{
    // Autenticación estándar
    Task<DTOs.AuthResult> LoginAsync(string username, string password);
    Task<DTOs.AuthResult> RegisterAsync(string username, string email, string password);
    
    // Autenticación social (Google)
    Task<DTOs.AuthResult> GoogleLoginAsync(string idToken);

    // Seguridad avanzada (MFA)
    Task<string> GenerateMfaSecretAsync(int userId);
    Task<bool> VerifyMfaCodeAsync(int userId, string code);
    Task EnableMfaAsync(int userId, bool enabled);
}
