import { QueueMessage } from '../../interfaces/mq';
import { IMail, MailAttachment, MailAttachmentWrapper } from "../../interfaces";
import { EmailTemplateService } from '../email-template.service';
import { PublisherFactory } from '../queues/publisher-factory.service';
import { SettingService } from '../setting.service';
export declare class SMTPEMailService implements IMail {
    private readonly publisherFactory;
    private readonly emailTemplateService;
    private readonly settingService;
    private readonly logger;
    private readonly transporter;
    constructor(publisherFactory: PublisherFactory<any>, emailTemplateService: EmailTemplateService, settingService: SettingService);
    sendEmailUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueEmails?: boolean, wrapperAttachments?: MailAttachmentWrapper[], attachments?: MailAttachment[], parentEntity?: any, parentEntityId?: any, cc?: string[], bcc?: string[], from?: string): Promise<any>;
    sendEmail(to: string, subject: string, body: string, shouldQueueEmails?: boolean, wrapperAttachments?: MailAttachmentWrapper[], attachments?: MailAttachment[], parentEntity?: any, parentEntityId?: any, cc?: string[], bcc?: string[], from?: string): Promise<any>;
    sendEmailAsynchronously(message: any): Promise<string>;
    sendEmailSynchronously(message: QueueMessage<any>): Promise<any>;
}
//# sourceMappingURL=smtp-email.service.d.ts.map