export interface ISendEmailAddress {
  name: string;
  address: string;
}

export interface ISendEmailOptions {
  from: string | ISendEmailAddress | undefined;
  to: string | ISendEmailAddress;
  subject?: string;
  text?: string;
  html?: string;
  cc?: string | ISendEmailAddress | Array<string | ISendEmailAddress> | undefined;
  bcc?: string | ISendEmailAddress | Array<string | ISendEmailAddress> | undefined;
  replyTo?: string | ISendEmailAddress | Array<string | ISendEmailAddress> | undefined;
  attachments?: Array<{ filename: string; path: string }>;
}

export interface IEmailService {
  sendMail(mailOptions: ISendEmailOptions, dry?: boolean): Promise<void>;
}
