/**
 * Platform Service Error Codes
 *
 * This file contains all error codes used across the platform service.
 *
 * Format: PREFIX_ERROR_TYPE
 * - PREFIX: Component/domain prefix (e.g., EMAIL, MTA, SMS)
 * - ERROR_TYPE: Specific error type within the domain
 */
// General platform errors (PLATFORM_*)
export const PLATFORM_INITIALIZATION_ERROR = 'PLATFORM_INITIALIZATION_ERROR';
export const PLATFORM_CONFIGURATION_ERROR = 'PLATFORM_CONFIGURATION_ERROR';
export const PLATFORM_OPERATION_ERROR = 'PLATFORM_OPERATION_ERROR';
export const PLATFORM_NOT_IMPLEMENTED = 'PLATFORM_NOT_IMPLEMENTED';
export const PLATFORM_NOT_SUPPORTED = 'PLATFORM_NOT_SUPPORTED';
export const PLATFORM_SERVICE_UNAVAILABLE = 'PLATFORM_SERVICE_UNAVAILABLE';
// Email service errors (EMAIL_*)
export const EMAIL_SERVICE_ERROR = 'EMAIL_SERVICE_ERROR';
export const EMAIL_TEMPLATE_ERROR = 'EMAIL_TEMPLATE_ERROR';
export const EMAIL_VALIDATION_ERROR = 'EMAIL_VALIDATION_ERROR';
export const EMAIL_SEND_ERROR = 'EMAIL_SEND_ERROR';
export const EMAIL_RECEIVE_ERROR = 'EMAIL_RECEIVE_ERROR';
export const EMAIL_ATTACHMENT_ERROR = 'EMAIL_ATTACHMENT_ERROR';
export const EMAIL_PARSE_ERROR = 'EMAIL_PARSE_ERROR';
export const EMAIL_RATE_LIMIT_EXCEEDED = 'EMAIL_RATE_LIMIT_EXCEEDED';
// MTA-specific errors (MTA_*)
export const MTA_CONNECTION_ERROR = 'MTA_CONNECTION_ERROR';
export const MTA_AUTHENTICATION_ERROR = 'MTA_AUTHENTICATION_ERROR';
export const MTA_DELIVERY_ERROR = 'MTA_DELIVERY_ERROR';
export const MTA_CONFIGURATION_ERROR = 'MTA_CONFIGURATION_ERROR';
export const MTA_DNS_ERROR = 'MTA_DNS_ERROR';
export const MTA_TIMEOUT_ERROR = 'MTA_TIMEOUT_ERROR';
export const MTA_PROTOCOL_ERROR = 'MTA_PROTOCOL_ERROR';
// Bounce management errors (BOUNCE_*)
export const BOUNCE_PROCESSING_ERROR = 'BOUNCE_PROCESSING_ERROR';
export const BOUNCE_STORAGE_ERROR = 'BOUNCE_STORAGE_ERROR';
export const BOUNCE_CLASSIFICATION_ERROR = 'BOUNCE_CLASSIFICATION_ERROR';
// Email authentication errors (AUTH_*)
export const AUTH_SPF_ERROR = 'AUTH_SPF_ERROR';
export const AUTH_DKIM_ERROR = 'AUTH_DKIM_ERROR';
export const AUTH_DMARC_ERROR = 'AUTH_DMARC_ERROR';
export const AUTH_KEY_ERROR = 'AUTH_KEY_ERROR';
// Content scanning errors (SCAN_*)
export const SCAN_ANALYSIS_ERROR = 'SCAN_ANALYSIS_ERROR';
export const SCAN_MALWARE_DETECTED = 'SCAN_MALWARE_DETECTED';
export const SCAN_PHISHING_DETECTED = 'SCAN_PHISHING_DETECTED';
export const SCAN_CONTENT_REJECTED = 'SCAN_CONTENT_REJECTED';
// IP and reputation errors (REPUTATION_*)
export const REPUTATION_CHECK_ERROR = 'REPUTATION_CHECK_ERROR';
export const REPUTATION_DATA_ERROR = 'REPUTATION_DATA_ERROR';
export const REPUTATION_BLOCKLIST_ERROR = 'REPUTATION_BLOCKLIST_ERROR';
export const REPUTATION_UPDATE_ERROR = 'REPUTATION_UPDATE_ERROR';
// IP warmup errors (WARMUP_*)
export const WARMUP_ALLOCATION_ERROR = 'WARMUP_ALLOCATION_ERROR';
export const WARMUP_LIMIT_EXCEEDED = 'WARMUP_LIMIT_EXCEEDED';
export const WARMUP_SCHEDULE_ERROR = 'WARMUP_SCHEDULE_ERROR';
// Network and connectivity errors (NETWORK_*)
export const NETWORK_CONNECTION_ERROR = 'NETWORK_CONNECTION_ERROR';
export const NETWORK_TIMEOUT = 'NETWORK_TIMEOUT';
export const NETWORK_DNS_ERROR = 'NETWORK_DNS_ERROR';
export const NETWORK_TLS_ERROR = 'NETWORK_TLS_ERROR';
// Queue and processing errors (QUEUE_*)
export const QUEUE_FULL_ERROR = 'QUEUE_FULL_ERROR';
export const QUEUE_PROCESSING_ERROR = 'QUEUE_PROCESSING_ERROR';
export const QUEUE_PERSISTENCE_ERROR = 'QUEUE_PERSISTENCE_ERROR';
export const QUEUE_ITEM_NOT_FOUND = 'QUEUE_ITEM_NOT_FOUND';
// DcRouter errors (DCR_*)
export const DCR_ROUTING_ERROR = 'DCR_ROUTING_ERROR';
export const DCR_CONFIGURATION_ERROR = 'DCR_CONFIGURATION_ERROR';
export const DCR_PROXY_ERROR = 'DCR_PROXY_ERROR';
export const DCR_DOMAIN_ERROR = 'DCR_DOMAIN_ERROR';
// SMS service errors (SMS_*)
export const SMS_SERVICE_ERROR = 'SMS_SERVICE_ERROR';
export const SMS_SEND_ERROR = 'SMS_SEND_ERROR';
export const SMS_VALIDATION_ERROR = 'SMS_VALIDATION_ERROR';
export const SMS_RATE_LIMIT_EXCEEDED = 'SMS_RATE_LIMIT_EXCEEDED';
// Storage errors (STORAGE_*)
export const STORAGE_WRITE_ERROR = 'STORAGE_WRITE_ERROR';
export const STORAGE_READ_ERROR = 'STORAGE_READ_ERROR';
export const STORAGE_DELETE_ERROR = 'STORAGE_DELETE_ERROR';
export const STORAGE_QUOTA_EXCEEDED = 'STORAGE_QUOTA_EXCEEDED';
// Rule management errors (RULE_*)
export const RULE_VALIDATION_ERROR = 'RULE_VALIDATION_ERROR';
export const RULE_EXECUTION_ERROR = 'RULE_EXECUTION_ERROR';
export const RULE_NOT_FOUND = 'RULE_NOT_FOUND';
// Type definitions for error severity
export var ErrorSeverity;
(function (ErrorSeverity) {
    /** Critical errors that require immediate attention */
    ErrorSeverity["CRITICAL"] = "CRITICAL";
    /** High-impact errors that may affect service functioning */
    ErrorSeverity["HIGH"] = "HIGH";
    /** Medium-impact errors that cause partial degradation */
    ErrorSeverity["MEDIUM"] = "MEDIUM";
    /** Low-impact errors that have minimal or local impact */
    ErrorSeverity["LOW"] = "LOW";
    /** Informational errors that are not problematic */
    ErrorSeverity["INFO"] = "INFO";
})(ErrorSeverity || (ErrorSeverity = {}));
// Type definitions for error categories
export var ErrorCategory;
(function (ErrorCategory) {
    /** Errors related to configuration */
    ErrorCategory["CONFIGURATION"] = "CONFIGURATION";
    /** Errors related to network connectivity */
    ErrorCategory["CONNECTIVITY"] = "CONNECTIVITY";
    /** Errors related to authentication/authorization */
    ErrorCategory["AUTHENTICATION"] = "AUTHENTICATION";
    /** Errors related to data validation */
    ErrorCategory["VALIDATION"] = "VALIDATION";
    /** Errors related to resource availability */
    ErrorCategory["RESOURCE"] = "RESOURCE";
    /** Errors related to service operations */
    ErrorCategory["OPERATION"] = "OPERATION";
    /** Errors related to third-party integrations */
    ErrorCategory["INTEGRATION"] = "INTEGRATION";
    /** Errors related to security */
    ErrorCategory["SECURITY"] = "SECURITY";
    /** Errors related to data storage */
    ErrorCategory["STORAGE"] = "STORAGE";
    /** Errors that don't fit into other categories */
    ErrorCategory["OTHER"] = "OTHER";
})(ErrorCategory || (ErrorCategory = {}));
// Type definitions for error recoverability
export var ErrorRecoverability;
(function (ErrorRecoverability) {
    /** Error cannot be automatically recovered from */
    ErrorRecoverability["NON_RECOVERABLE"] = "NON_RECOVERABLE";
    /** Error might be recoverable with retry */
    ErrorRecoverability["MAYBE_RECOVERABLE"] = "MAYBE_RECOVERABLE";
    /** Error is definitely recoverable with retries */
    ErrorRecoverability["RECOVERABLE"] = "RECOVERABLE";
    /** Error is transient and should resolve without action */
    ErrorRecoverability["TRANSIENT"] = "TRANSIENT";
})(ErrorRecoverability || (ErrorRecoverability = {}));
//# sourceMappingURL=data:application/json;base64, 