import type { OpsServer } from '../classes.opsserver.js'; export declare class EmailOpsHandler { private opsServerRef; constructor(opsServerRef: OpsServer); private registerHandlers; /** * List accepted emails (inbound + outbound) from the durable CachedEmail * store, plus any live outbound queue items not yet represented there. */ private getAllEmails; private getEmailLogSnapshot; private normalizeEmailLogRange; private getEmailSecurityFindings; private matchesEmailSearch; /** * Get a single email detail by ID — live queue item first (freshest state), * else the durable CachedEmail row (covers inbound + historical mail). */ private getEmailDetail; /** Durable listing needs the DB; without it only the live queue is visible. */ private isCachedEmailStoreAvailable; /** * Map a CachedEmail row to catalog IEmail format */ private mapCachedEmailToEmail; /** * Map a CachedEmail row to catalog IEmailDetail format */ private mapCachedEmailToEmailDetail; /** Session snapshot persisted in routeData at acceptance time. */ private parseCachedEmailSession; private extractSessionUser; /** Split raw RFC822 content into an unfolded header map and the body. */ private parseRawEmail; /** * Map a queue item to catalog IEmail format */ private mapQueueItemToEmail; /** * Map a queue item to catalog IEmailDetail format */ private mapQueueItemToEmailDetail; private getLatestOutboundAuthentication; private mapOutboundAuthenticationResults; /** * Map queue status to catalog TEmailStatus */ /** * Maps SmartMTA inbound SPF/DKIM/DMARC verdicts (persisted as JSON on the * cached email) into the catalog authenticationResults shape. Falls back to * all-'none' when no verdicts were captured. */ private mapInboundSecurityResults; private mapStatus; private flattenSmtpTransactions; /** * Format byte size to human-readable string */ private formatSize; }