export interface IServerStats { uptime: number; startTime: number; memoryUsage: { heapUsed: number; heapTotal: number; external: number; rss: number; }; cpuUsage: { user: number; system: number; }; activeConnections: number; totalConnections: number; } export interface IEmailStats { sent: number; received: number; bounced: number; queued: number; failed: number; averageDeliveryTime: number; deliveryRate: number; bounceRate: number; } export interface IDnsStats { totalQueries: number; cacheHits: number; cacheMisses: number; cacheHitRate: number; activeDomains: number; averageResponseTime: number; queryTypes: { [key: string]: number; }; } export interface IRateLimitInfo { domain: string; currentRate: number; limit: number; remaining: number; resetTime: number; blocked: boolean; } export interface ISecurityMetrics { blockedIPs: string[]; reputationScores: { [domain: string]: number; }; spamDetected: number; malwareDetected: number; phishingDetected: number; authenticationFailures: number; suspiciousActivities: number; } export interface ILogEntry { timestamp: number; level: 'debug' | 'info' | 'warn' | 'error'; category: 'smtp' | 'dns' | 'security' | 'system' | 'email'; message: string; metadata?: any; } export interface IConnectionInfo { id: string; remoteAddress: string; localAddress: string; startTime: number; protocol: 'smtp' | 'smtps' | 'http' | 'https'; state: 'connecting' | 'connected' | 'authenticated' | 'transmitting' | 'closing'; bytesReceived: number; bytesSent: number; } export interface IQueueStatus { name: string; size: number; processing: number; failed: number; retrying: number; averageProcessingTime: number; } export interface IHealthStatus { healthy: boolean; uptime: number; services: { [service: string]: { status: 'healthy' | 'degraded' | 'unhealthy'; message?: string; lastCheck: number; }; }; version?: string; }