import { StringRuleChecker } from './string-rule-checker'; import { EmailAddressDefinition } from './string-types'; import { GuardResult } from '../../core/guard-result'; /** * Email address pattern matching 99% of email addresses. */ export declare const QUICK_EMAIL_ADDRESS_PATTERN = "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+[.][a-zA-Z]{2,4}$"; /** * RFC5322 email address pattern matching 99.9% of email addresses. * * Lightened RFC 5322 implementation omitting: * - IP addresses. * - domain-specific addresses. * - the syntax using double quotes and square brackets. * @see {@link https://en.wikipedia.org/wiki/Email_address#Syntax} */ export declare const RFC5322_EMAIL_ADDRESS_PATTERN = "^[a-zA-Z0-9!#$%&'*+/=?^_'{|}~-]+(?:[.][a-zA-Z0-9!#$%&'*+/=?^_'{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?[.])+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$"; export declare class StringIsEmailAddress extends StringRuleChecker<{ type: 'isEmailAddress'; def?: EmailAddressDefinition; }> { constructor(rule: { type: 'isEmailAddress'; def?: EmailAddressDefinition; }, value: string); /** * @override */ exec(): GuardResult; private isRfc5322; private isQuick; }