export { type CharacterResult, analyzeCharacters } from "./checks/character.js"; export { type C as Cache, I as InMemoryCache, type a as InMemoryCacheOptions, type M as MxCheckOptions, type b as MxCheckResult, type c as MxRecord, type d as MxResolution, e as checkMxRecords } from "./packem_shared/mx.d-HxIDdxvR.js"; export { NO_REPLY_PREFIXES, ROLE_ACCOUNT_PREFIXES, isNoReply, default as isRoleAccount } from "./checks/role.js"; export { type SmtpVerificationOptions, type SmtpVerificationResult, default as verifySmtp } from "./checks/smtp.js"; export { type SymbolResult, analyzeSymbols } from "./checks/symbol.js"; export { default as validateSyntax } from "./checks/syntax.js"; export { type TagResult, default as detectTag } from "./checks/tag.js"; export { type NameResult, default as parseName } from "./enrich/name.js"; export { type ProviderDetails, type ProviderEnrichOptions, default as enrichProvider } from "./enrich/provider.js"; export { type TypoOptions, type TypoSuggestion, sift3Distance, suggestDomain, default as suggestEmailTypo } from "./enrich/typo.js"; export { D as DEFAULT_WEIGHTS, type a as DomainReport, type E as EmailVerificationReport, type S as ScoreInput, type b as ScoreResult, type c as ScoreWeights, type V as VerificationState, s as scoreReport } from "./packem_shared/score.d-a6cl6fPu.js"; export { type VerifyEmailOptions, default as verifyEmail } from "./verify-email.js"; export { type DisposableEmailOptions, areDisposableEmails, isDisposableDomain, isDisposableEmail } from '@visulima/disposable-email-domains'; export { type FreeEmailOptions, areFreeEmails, isFreeDomain, isFreeEmail } from '@visulima/free-email-domains'; export { type MxProviderInfo, classifyMx, classifyMxRecords, isSecureEmailGateway } from '@visulima/email-provider-mx'; /** * The split parts of an email address. */ interface AddressParts { /** The full normalized (lowercased, trimmed) address. */ address: string; /** The domain part, lowercased and with any trailing dot stripped. */ domain: string; /** The local part (before the `@`), lowercased. */ localPart: string; } /** * Splits an email address into its normalized local and domain parts. * * Uses the last `@` as the separator so quoted local parts containing `@` are * handled the same way the SMTP/MX probes treat them. Inputs containing * whitespace (after trimming) are rejected so a payload that embeds a CRLF * followed by a second SMTP command cannot be smuggled into the SMTP dialogue * by callers of the standalone probes. * @param email The email address to split. * @returns The normalized parts, or `undefined` if the address is structurally invalid. */ declare const splitAddress: (email: string) => AddressParts | undefined; /** * Extracts and normalizes just the domain from an email address. * @param email The email address to extract the domain from. * @returns The normalized domain, or `undefined` if invalid. */ declare const extractDomain: (email: string) => string | undefined; export { type AddressParts, extractDomain, splitAddress };