namespace EnvelopeGenerator.Application.Contracts { public interface IEnvelopeReceiverCache { Task GetSmsCodeAsync(string envelopeReceiverId); /// /// Asynchronously stores an SMS verification code in the cache and returns the expiration date of the code. /// /// The unique identifier for the recipient of the envelope to associate with the SMS code. /// The SMS verification code to be stored. /// A task that represents the asynchronous operation. The task result contains the expiration date and time of the stored SMS code. Task SetSmsCodeAsync(string envelopeReceiverId, string code); Task GetSmsCodeExpirationAsync(string envelopeReceiverId); } }