interface ISendingError { statusCode: number; statusText: string; errors: string[]; } declare const PROVIDER: { readonly brevo: "brevo"; readonly mailersend: "mailersend"; readonly mailgun: "mailgun"; readonly mailjet: "mailjet"; readonly mandrill: "mandrill"; readonly postmark: "postmark"; readonly sendgrid: "sendgrid"; readonly resend: "resend"; readonly ses: "ses"; readonly sparkpost: "sparkpost"; }; type Provider = typeof PROVIDER[keyof typeof PROVIDER]; interface ISendingResponse { provider?: Provider; timestamp: number | null; server: string | null; uri: string | null; messageId?: string | null; headers: object | null; body: Record | string | null; statusCode: number | null; statusMessage: string | null; } interface IAddressable { email: string; name?: string; } interface ITransporterCredentials { apiKey?: string; apiSecret?: string; username?: string; password?: string; } interface ITransporterOptions { host?: string; port?: number; secure?: boolean; region?: string; domain?: string; } interface ITransporterConfiguration { id: string; provider: Provider; auth: ITransporterCredentials; options: ITransporterOptions; templates?: Record; } declare enum ATTACHMENT_DISPOSITION { inline = "inline", attachment = "attachment" } declare enum ATTACHMENT_MIME_TYPE { 'application/vnd.ms-excel' = "application/vnd.ms-excel", 'application/vnd.ms-powerpoint' = "application/vnd.ms-powerpoint", 'application/msword' = "application/msword", 'application/pdf' = "application/pdf", 'application/vnd.oasis.opendocument.presentation' = "application/vnd.oasis.opendocument.presentation", 'application/vnd.oasis.opendocument.spreadsheet' = "application/vnd.oasis.opendocument.spreadsheet", 'application/vnd.oasis.opendocument.text' = "application/vnd.oasis.opendocument.text", 'application/x-7z-compressed' = "application/x-7z-compressed", 'application/x-mpegURL' = "application/x-mpegURL", 'application/x-rar-compressed' = "application/x-rar-compressed", 'application/x-tar' = "application/x-tar", 'application/zip' = "application/zip", 'audio/mpeg' = "audio/mpeg", 'audio/mp3' = "audio/mp3", 'audio/mid' = "audio/mid", 'audio/mp4' = "audio/mp4", 'audio/x-aiff' = "audio/x-aiff", 'audio/ogg' = "audio/ogg", 'audio/vorbis' = "audio/vorbis", 'audio/vnd.wav' = "audio/vnd.wav", 'image/bmp' = "image/bmp", 'image/gif' = "image/gif", 'image/jpg' = "image/jpg", 'image/jpeg' = "image/jpeg", 'image/png' = "image/png", 'text/calendar' = "text/calendar", 'text/csv' = "text/csv", 'video/mp4' = "video/mp4", 'video/3gpp' = "video/3gpp", 'video/quicktime' = "video/quicktime", 'video/x-msvideo' = "video/x-msvideo", 'video/x-ms-wmv' = "video/x-ms-wmv" } interface IAttachment { content: string; type?: ATTACHMENT_MIME_TYPE; filename: string; disposition?: ATTACHMENT_DISPOSITION; } declare const BUFFER_MIME_TYPE: { readonly 'text/plain': "text/plain"; readonly 'text/html': "text/html"; }; type BufferMimeType = typeof BUFFER_MIME_TYPE[keyof typeof BUFFER_MIME_TYPE]; interface IBuffer { type: BufferMimeType; value: string; } interface IPayload { transporterId?: string; meta: { from?: IAddressable; to: Array | Array; replyTo?: IAddressable; subject: string; cc?: Array; bcc?: Array; attachments?: Array; }; data?: Record; content?: IBuffer[]; } export { ATTACHMENT_DISPOSITION as A, BUFFER_MIME_TYPE as B, type ITransporterConfiguration as I, type Provider as P, type ISendingError as a, type ISendingResponse as b, type IAttachment as c, type IAddressable as d, type IPayload as e, ATTACHMENT_MIME_TYPE as f, type BufferMimeType as g, type IBuffer as h, PROVIDER as i };