import { SentMessageInfo } from 'nodemailer'; import MailerMail = require('nodemailer/lib/mailer'); import { Mail } from '../Mail'; import { FcmMailer, FcmOfficeOptions } from './FcmOffice'; import { GmailOfficeOptions } from './GmailOffice'; import { OnesignalMailer, OnesignalOfficeOptions } from './OnesignalOffice'; import { SendgridMailer, SendgridOfficeOptions } from './SendgridOffice'; export declare type Mailer = MailerMail | FcmMailer | SendgridMailer | OnesignalMailer; export declare type OfficeResult = SentMessageInfo; export declare type OfficeOptions = GmailOfficeOptions | FcmOfficeOptions | SendgridOfficeOptions | OnesignalOfficeOptions; export declare abstract class Office { mailer: Mailer; protected constructor(mailer: Mailer); abstract send(mail: Mail): Promise; }