export interface EmailCredentials { // IMAP Settings email: string; password?: string; host: string; port: number; secure?: boolean; encryptedPassword?: string; // SMTP Settings smtp_host?: string; smtp_port?: number; smtp_secure?: boolean; // true for SSL, false for TLS // Display Settings display_name?: string; color?: string; } export interface EmailAddress { name: string; address: string; } export interface EmailAttachment { contentId?: string; filename: string; contentType: string; size: number; path?: string; content?: string; } export interface EmailMessage { id: string; messageId?: string; subject: string; from: EmailAddress[]; to: EmailAddress[]; cc?: EmailAddress[]; bcc?: EmailAddress[]; date: Date; flags: { seen: boolean; flagged: boolean; answered: boolean; deleted: boolean; draft: boolean; }; preview?: string; content?: string; html?: string; text?: string; hasAttachments: boolean; attachments?: EmailAttachment[]; folder: string; size?: number; contentFetched: boolean; } export interface Account { id: number | string; name: string; email: string; color: string; folders?: string[]; }