export interface Message {
  from: string;
  to: string;
  subject: string;
  text: string;
  html?: string;
}

export interface EmailRecipient {
  email: string;
  name?: string;
}

export interface EmailAttachment {
  name?: string;
  /** Inline body; use this or `url`, not both required */
  content?: string | Buffer;
  /** Fetch attachment bytes from this URL (e.g. S3/CDN) */
  url?: string;
  contentType?: string;
}

export interface EmailOptions {
  to: string | string[] | EmailRecipient[];
  subject?: string;
  htmlContent?: string;
  textContent?: string;
  templateId?: number;
  params?: Record<string, unknown>;
  sender?: { name: string; email: string };
  attachments?: EmailAttachment[];
}
