export interface HeaderLine { key: string; line: string; } export interface EmailContact { address: string; name: string; } export interface EmailCard { value: Array; html: string; text: string; } export interface EmailRaw { attachments: Array; date: string; headers: { [key: string]: string; }; headerLines: Array; html: string; text: string; textAsHtml: string; subject: string; to: EmailCard; from: EmailCard; messageId: string; } export interface Message { category?: string; date: any; error?: string; lang?: string; lines?: string[]; recipient: string; recipient_ip: string; recipient_proxy: string; sender: string; timestamp: number; topic: string; thread?: { agent?: string; date: string; lines: string[]; recipient: string; sender: string; timestamp: number; topic: string; }[]; type?: string; value?: unknown; version: number; } export interface MessageTestResult extends Pick { pass: boolean; } export declare type Reducer = (message: Message) => MessageTestResult;