import { EmailDepartment } from "./email/email.department"; import { MessageOptions } from "./interfaces/message-options"; import { Recipient } from "./interfaces/reciptient"; import { SmsDepartment } from "./sms/sms.department"; import "reflect-metadata"; import { PostOfficeConfig } from "./post-office.config"; /** * A single point for sending and reciving messages to and from a customer */ export declare class PostOffice { private _emailDepartment; private _smsDepartment; private emailDepartment; private config; private supportedTypes; constructor(_emailDepartment: EmailDepartment, _smsDepartment: SmsDepartment); overrideLogger(logger: any): void; setConfig(config: PostOfficeConfig): void; /** * Tries to send message to one or more recipients * * @param recipients - the recipients of the message * @param options - the options to the message, option.type must be specified */ send(recipients: Recipient[], options: MessageOptions): Promise; private delegateSendRequest; private delegateToDepartments; private isTypeSupported; }