/**
 * SMTP Client Helper Functions
 * Protocol helper functions and utilities
 */
import type { ISmtpResponse, ISmtpCapabilities } from '../interfaces.js';
/**
 * Parse SMTP server response
 */
export declare function parseSmtpResponse(data: string): ISmtpResponse;
/**
 * Parse EHLO response and extract capabilities
 */
export declare function parseEhloResponse(response: string): ISmtpCapabilities;
/**
 * Format SMTP command with proper line ending
 */
export declare function formatCommand(command: string, ...args: string[]): string;
/**
 * Encode authentication string for AUTH PLAIN
 */
export declare function encodeAuthPlain(username: string, password: string): string;
/**
 * Encode authentication string for AUTH LOGIN
 */
export declare function encodeAuthLogin(value: string): string;
/**
 * Generate OAuth2 authentication string
 */
export declare function generateOAuth2String(username: string, accessToken: string): string;
/**
 * Check if response code indicates success
 */
export declare function isSuccessCode(code: number): boolean;
/**
 * Check if response code indicates temporary failure
 */
export declare function isTemporaryFailure(code: number): boolean;
/**
 * Check if response code indicates permanent failure
 */
export declare function isPermanentFailure(code: number): boolean;
/**
 * Escape email address for SMTP commands
 */
export declare function escapeEmailAddress(email: string): string;
/**
 * Extract email address from angle brackets
 */
export declare function extractEmailAddress(email: string): string;
/**
 * Generate unique connection ID
 */
export declare function generateConnectionId(): string;
/**
 * Format timeout duration for human readability
 */
export declare function formatTimeout(milliseconds: number): string;
/**
 * Validate and normalize email data size
 */
export declare function validateEmailSize(emailData: string, maxSize?: number): boolean;
/**
 * Clean sensitive data from logs
 */
export declare function sanitizeForLogging(data: any): any;
/**
 * Calculate exponential backoff delay
 */
export declare function calculateBackoffDelay(attempt: number, baseDelay?: number): number;
/**
 * Parse enhanced status code
 */
export declare function parseEnhancedStatusCode(code: string): {
    class: number;
    subject: number;
    detail: number;
} | null;
