using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; using EnvelopeGenerator.Application.DTOs.Messaging; namespace EnvelopeGenerator.Application.Contracts.Services; public interface IEnvelopeSmsHandler { /// /// If expiration is passed then, sends sms and returns smsResponse and up-to-date expiration; otherwise send expiration. /// /// /// /// Task<(SmsResponse? SmsResponse, DateTime Expiration)> SendTotpAsync(EnvelopeReceiverSecretDto er_secret, CancellationToken cToken = default); bool VerifyTotp(string totpCode, string secretKey); }