import { b as MxCheckResult, C as Cache, c as MxRecord } from "../packem_shared/mx.d-HxIDdxvR.js"; /** * Options for SMTP verification. */ interface SmtpVerificationOptions { /** Cache for the underlying MX lookup. */ cache?: Cache; /** * Number of random, almost-certainly-nonexistent addresses to probe for * catch-all detection. More probes reduce false positives from * deferred-rejection servers. Set to 0 to disable. * @default 1 */ catchAllProbes?: number; /** * MAIL FROM address used during the probe; defaults to `verify@` followed by * the HELO host. */ fromEmail?: string; /** * HELO/EHLO hostname presented to the remote server. * @default the address domain */ heloHost?: string; /** * Pre-resolved MX records to probe, in priority order. When provided, the * probe skips its own DNS lookup — the orchestrator passes the records it * already resolved so the domain is not queried twice. */ mxRecords?: MxRecord[]; port?: number; /** * Number of times to retry the whole probe on a temporary (greylist) failure. * @default 1 */ retries?: number; /** * Delay in milliseconds between greylist retries. * @default 5000 */ retryDelay?: number; /** Cache for SMTP results. */ smtpCache?: Cache; timeout?: number; ttl?: number; } /** * Detailed result of an SMTP verification attempt. */ interface SmtpVerificationResult { /** True when the server accepts a random, nonexistent recipient (catch-all). */ acceptAll?: boolean; /** The numeric SMTP status code for the real RCPT TO. */ code?: number; /** True when the result is inconclusive due to a temporary failure (greylisting). */ deferred?: boolean; /** Final enhanced status code for the real RCPT (e.g. "5.1.1"), if present. */ enhancedCode?: string; error?: string; /** True when the mailbox exists but is over quota (452/552 / 4.2.2). */ mailboxFull?: boolean; mxRecords?: MxRecord[]; smtpResponse?: string; /** True when the real RCPT TO was accepted (250). */ valid: boolean; } declare const verifySmtp: (email: string, options?: SmtpVerificationOptions) => Promise; export { type SmtpVerificationOptions, type SmtpVerificationResult, verifySmtp as default, verifySmtp };