@emailcheck/email-validator-js
Version:
Advanced email validation with MX records, SMTP verification, disposable email detection, batch processing, and caching. Production-ready with TypeScript support.
44 lines (43 loc) • 2.06 kB
TypeScript
import type { Cache } from './cache-interface';
import type { DomainSuggestion, DomainSuggestionParams } from './types';
/**
* List of common email domains for typo detection
* Includes popular free providers, business providers, and hosting services
*/
export declare const commonEmailDomains: string[];
/**
* Default domain suggestion method using string similarity (sync version)
*/
export declare function defaultDomainSuggestionMethod(domain: string, commonDomains?: string[]): DomainSuggestion | null;
/**
* Async version of default domain suggestion method
*/
export declare function defaultDomainSuggestionMethodAsync(domain: string, commonDomains?: string[], cache?: Cache): Promise<DomainSuggestion | null>;
/**
* Suggest a corrected domain for a potentially misspelled email domain
* @param params - Parameters including domain and optional custom method
* @returns Domain suggestion with confidence score, or null if no suggestion
*/
export declare function suggestDomain(params: DomainSuggestionParams): DomainSuggestion | null;
/**
* Convenience function to suggest domain from email address
* @param email - Email address to check for domain typos
* @param commonDomains - Optional list of common domains to check against
* @param cache - Optional cache instance
* @returns Domain suggestion with confidence score, or null if no suggestion
*/
export declare function suggestEmailDomain(email: string, commonDomains?: string[], cache?: Cache): Promise<DomainSuggestion | null>;
/**
* Check if a domain is in the common domains list
* @param domain - Domain to check
* @param commonDomains - Optional custom list of common domains
* @returns True if domain is common, false otherwise
*/
export declare function isCommonDomain(domain: string, commonDomains?: string[]): boolean;
/**
* Get similarity score between two domains
* @param domain1 - First domain
* @param domain2 - Second domain
* @returns Similarity score between 0 and 1
*/
export declare function getDomainSimilarity(domain1: string, domain2: string): number;