/** * Usage * var { isEmailValid } = require('email-validator-node') * await isEmailValid(String email); * * @param {String} email - The possible email input * @return {validateEmailResponse} true is the specified email is valid, false otherwise */ declare function checkEmail(email: string): Promise; /** * Usage * var { isEmailFormatValid } = require('email-validator-node') * await isEmailFormatValid(String email); * * @param {String} email - The possible email input * @return {Boolean} */ declare function isEmailFormatValid(email: string): boolean; /** * Usage * var { isBlacklisted } = require('email-validator-node') * await isBlacklisted(String email); * * @param {String} email - The possible email input * @return {Boolean} */ declare function isBlacklisted(email: string): boolean; /** * MX Record interface */ export interface MxRecord { priority: number; exchange: string; } /** * Validation check results interface */ export interface ValidationChecks { format: boolean; blacklist: boolean; dns: boolean; } /** * Email validation result interface */ export interface ValidationResult { isValid: boolean; email?: string; checks?: ValidationChecks; mxRecords?: MxRecord[]; message?: string; } /** * Validation options interface */ export interface ValidationOptions { skipBlacklist?: boolean; skipDNS?: boolean; timeout?: number; cache?: boolean; } type validateEmailResponse = ValidationResult; /** * Usage * var { isMXRecordValid } = require('email-validator-node') * await isMXRecordValid(String email); * * @param {String} email - The possible email input * @return {validateEmailResponse} true is the specified email is valid, false otherwise */ declare function isMXRecordValid(email: string, timeout?: number): Promise; /** * Batch email validation with parallel processing * @param emails Array of email addresses to validate * @param concurrency Maximum concurrent DNS queries (default: 5) * @returns Promise */ declare function checkEmails(emails: string[], concurrency?: number): Promise; export { checkEmail, checkEmails, isEmailFormatValid, isMXRecordValid, isBlacklisted, };