/** * The result of symbol / Unicode analysis. */ interface SymbolResult { /** True when the address mixes Unicode scripts (a homoglyph-spoofing signal). */ hasMixedScripts: boolean; /** True when the address contains non-ASCII characters anywhere. */ hasNonAscii: boolean; /** True when the local part or domain contains symbol/emoji characters. */ hasSymbols: boolean; /** The distinct Unicode scripts detected (e.g. ["Latin", "Cyrillic"]). */ scripts: string[]; } /** * Detects symbols, emoji, and mixed Unicode scripts in an email address. * * Mixed-script local parts (e.g. Latin + Cyrillic) are a classic homoglyph / * spoofing signal; symbol or emoji characters indicate a non-standard address. * @param email The email address to analyze. * @returns The symbol analysis result. * @example * ```ts * import { analyzeSymbols } from "@visulima/email-verifier/checks/symbol"; * * analyzeSymbols("раypal@example.com").hasMixedScripts; // true (Cyrillic "ра") * ``` */ declare const analyzeSymbols: (email: string) => SymbolResult; export { type SymbolResult, analyzeSymbols, analyzeSymbols as default };