#pragma once
#include <string>
#include <mw/error.hpp>
/// Validated email spelling and normalized identity key.
struct EmailAddress
{
/// Trimmed ASCII address retained for delivery.
std::string email;
/// Lowercase identity used for uniqueness and rate limiting.
std::string key;
};
/// Validate and normalize an MVP ASCII email address.
mw::E<EmailAddress> normalizeEmail(const std::string& input);