/**
 * SMTP Client Constants and Error Codes
 * All constants, error codes, and enums for SMTP client operations
 */
/**
 * SMTP response codes
 */
export declare const SMTP_CODES: {
    readonly SERVICE_READY: 220;
    readonly SERVICE_CLOSING: 221;
    readonly AUTHENTICATION_SUCCESSFUL: 235;
    readonly REQUESTED_ACTION_OK: 250;
    readonly USER_NOT_LOCAL: 251;
    readonly CANNOT_VERIFY_USER: 252;
    readonly START_MAIL_INPUT: 354;
    readonly SERVICE_NOT_AVAILABLE: 421;
    readonly MAILBOX_BUSY: 450;
    readonly LOCAL_ERROR: 451;
    readonly INSUFFICIENT_STORAGE: 452;
    readonly UNABLE_TO_ACCOMMODATE: 455;
    readonly SYNTAX_ERROR: 500;
    readonly SYNTAX_ERROR_PARAMETERS: 501;
    readonly COMMAND_NOT_IMPLEMENTED: 502;
    readonly BAD_SEQUENCE: 503;
    readonly PARAMETER_NOT_IMPLEMENTED: 504;
    readonly MAILBOX_UNAVAILABLE: 550;
    readonly USER_NOT_LOCAL_TRY_FORWARD: 551;
    readonly EXCEEDED_STORAGE: 552;
    readonly MAILBOX_NAME_NOT_ALLOWED: 553;
    readonly TRANSACTION_FAILED: 554;
};
/**
 * SMTP command names
 */
export declare const SMTP_COMMANDS: {
    readonly HELO: "HELO";
    readonly EHLO: "EHLO";
    readonly MAIL_FROM: "MAIL FROM";
    readonly RCPT_TO: "RCPT TO";
    readonly DATA: "DATA";
    readonly RSET: "RSET";
    readonly NOOP: "NOOP";
    readonly QUIT: "QUIT";
    readonly STARTTLS: "STARTTLS";
    readonly AUTH: "AUTH";
};
/**
 * Authentication methods
 */
export declare const AUTH_METHODS: {
    readonly PLAIN: "PLAIN";
    readonly LOGIN: "LOGIN";
    readonly OAUTH2: "XOAUTH2";
    readonly CRAM_MD5: "CRAM-MD5";
};
/**
 * Common SMTP extensions
 */
export declare const SMTP_EXTENSIONS: {
    readonly PIPELINING: "PIPELINING";
    readonly SIZE: "SIZE";
    readonly STARTTLS: "STARTTLS";
    readonly AUTH: "AUTH";
    readonly EIGHT_BIT_MIME: "8BITMIME";
    readonly CHUNKING: "CHUNKING";
    readonly ENHANCED_STATUS_CODES: "ENHANCEDSTATUSCODES";
    readonly DSN: "DSN";
};
/**
 * Default configuration values
 */
export declare const DEFAULTS: {
    readonly CONNECTION_TIMEOUT: 60000;
    readonly SOCKET_TIMEOUT: 300000;
    readonly COMMAND_TIMEOUT: 30000;
    readonly MAX_CONNECTIONS: 5;
    readonly MAX_MESSAGES: 100;
    readonly PORT_SMTP: 25;
    readonly PORT_SUBMISSION: 587;
    readonly PORT_SMTPS: 465;
    readonly RETRY_ATTEMPTS: 3;
    readonly RETRY_DELAY: 1000;
    readonly POOL_IDLE_TIMEOUT: 30000;
};
/**
 * Error types for classification
 */
export declare enum SmtpErrorType {
    CONNECTION_ERROR = "CONNECTION_ERROR",
    AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
    PROTOCOL_ERROR = "PROTOCOL_ERROR",
    TIMEOUT_ERROR = "TIMEOUT_ERROR",
    TLS_ERROR = "TLS_ERROR",
    SYNTAX_ERROR = "SYNTAX_ERROR",
    MAILBOX_ERROR = "MAILBOX_ERROR",
    QUOTA_ERROR = "QUOTA_ERROR",
    UNKNOWN_ERROR = "UNKNOWN_ERROR"
}
/**
 * Regular expressions for parsing
 */
export declare const REGEX_PATTERNS: {
    readonly EMAIL_ADDRESS: RegExp;
    readonly RESPONSE_CODE: RegExp;
    readonly ENHANCED_STATUS: RegExp;
    readonly AUTH_CAPABILITIES: RegExp;
    readonly SIZE_EXTENSION: RegExp;
};
/**
 * Line endings and separators
 */
export declare const LINE_ENDINGS: {
    readonly CRLF: "\r\n";
    readonly LF: "\n";
    readonly CR: "\r";
};
/**
 * Connection states for internal use
 */
export declare const CONNECTION_STATES: {
    readonly DISCONNECTED: "disconnected";
    readonly CONNECTING: "connecting";
    readonly CONNECTED: "connected";
    readonly AUTHENTICATED: "authenticated";
    readonly READY: "ready";
    readonly BUSY: "busy";
    readonly CLOSING: "closing";
    readonly ERROR: "error";
};
