/** * The result of local-part character analysis. */ interface CharacterResult { /** Ratio of digits to total characters in the local part (0–1). */ digitRatio: number; /** True when the local part looks irregular / machine-generated / risky. */ irregular: boolean; /** Length of the local part. */ length: number; /** Human-readable reasons contributing to the `irregular` verdict. */ reasons: string[]; } /** * Analyzes the local part of an email for irregular characteristics that * correlate with low-quality, spam-trap, or machine-generated addresses. * * Heuristic and intentionally conservative — it flags *patterns* (excessive * length, digit-heavy locals, long unpronounceable consonant runs, long repeats) * rather than asserting invalidity. * @param email The email address to analyze. * @returns The character analysis result. * @example * ```ts * import { analyzeCharacters } from "@visulima/email-verifier/checks/character"; * * analyzeCharacters("aaaaaaa@example.com").irregular; // long repeat ⇒ true * ``` */ declare const analyzeCharacters: (email: string) => CharacterResult; export { type CharacterResult, analyzeCharacters, analyzeCharacters as default };