/**
 * IDN (Internationalized Domain Names) utilities
 * Zero-dependency implementation for domain name handling
 */
/**
 * Convert domain to Punycode format
 * @param domain Domain name to convert
 * @returns Punycode encoded domain
 */
export declare function domainToPunycode(domain: string): string;
/**
 * Convert email address's domain to Punycode
 * @param email Email address to convert
 * @returns Email with Punycode encoded domain
 */
export declare function emailToPunycode(email: string): string;
/**
 * Error codes for IDN validation
 * These can be used as keys for translation systems
 */
export declare enum IDNValidationError {
    MISSING_INPUT = "MISSING_INPUT",
    EMAIL_TOO_LONG = "EMAIL_TOO_LONG",
    MISSING_AT_SYMBOL = "MISSING_AT_SYMBOL",
    LOCAL_PART_EMPTY = "LOCAL_PART_EMPTY",
    LOCAL_PART_TOO_LONG = "LOCAL_PART_TOO_LONG",
    LOCAL_PART_INVALID = "LOCAL_PART_INVALID",
    DOMAIN_EMPTY = "DOMAIN_EMPTY",
    DOMAIN_TOO_LONG = "DOMAIN_TOO_LONG",
    DOMAIN_INVALID_FORMAT = "DOMAIN_INVALID_FORMAT",
    MISSING_TLD = "MISSING_TLD",
    NUMERIC_TLD = "NUMERIC_TLD",
    INVALID_ENCODING = "INVALID_ENCODING"
}
/**
 * Validates an email address according to international standards (IDNA)
 * This implementation follows RFC 5321, 5322, and 6530 standards for email addresses
 *
 * @param email The email address to validate
 * @returns Error information if validation fails, undefined if valid
 */
export declare function validateInternationalEmail(email: string): {
    type: 'IDN_VALIDATION_ERROR';
    code: IDNValidationError;
    message: string;
} | undefined;
//# sourceMappingURL=idn.d.ts.map