/// import { EventEmitter } from 'events'; import { Readable } from 'stream'; import { Transport, TransportOptions } from '..'; import * as shared from './shared'; import Mail = require('./mailer'); import MailMessage = require('./mailer/mail-message'); import MimeNode = require('./mime-node'); declare namespace StreamTransport { type MailOptions = Mail.Options; interface Options extends MailOptions, TransportOptions { streamTransport: true; /** if true, then returns the message as a Buffer object instead of a stream */ buffer?: boolean; /** either ‘windows’ or ‘unix’ (default). Forces all newlines in the output to either use Windows syntax or Unix syntax */ newline?: string; } interface SentMessageInfo { /** an envelope object {from:‘address’, to:[‘address’]} */ envelope: MimeNode.Envelope; /** the Message-ID header value */ messageId: string; /** either stream (default) of buffer depending on the options */ message: Buffer | Readable; } } declare class StreamTransport implements Transport { options: StreamTransport.Options; logger: shared.Logger; mailer: Mail; name: string; version: string; winbreak: boolean; constructor(options: StreamTransport.Options); /** Compiles a mailcomposer message and forwards it to handler that sends it */ send(mail: MailMessage, callback: (err: Error | null, info: StreamTransport.SentMessageInfo) => void): void; } export = StreamTransport;