Neah/lib/types.ts

67 lines
1.2 KiB
TypeScript

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[];
}