import 'source-map-support/register';
import sgMail from '@sendgrid/mail';
import * as nodemailer from 'nodemailer';
import request from 'request';
import { Lock } from './lock';
import { MessageBroker } from './messagebroker';
import { Notification } from './model';
import { Storage } from './storage';
export interface Recipient {
    copayerId: string;
    emailAddress: string;
    language: string;
    unit: string;
}
interface EmailType {
    filename: string;
    notifyDoer: boolean;
    notifyOthers: boolean;
}
export declare class EmailService {
    defaultLanguage: string;
    defaultUnit: string;
    templatePath: string;
    masterTemplatePath: string;
    masterTemplate: string;
    publicTxUrlTemplate: string;
    subjectPrefix: string;
    from: string;
    availableLanguages: string[];
    storage: Storage;
    messageBroker: MessageBroker;
    lock: Lock;
    mailer: nodemailer.Transporter | typeof sgMail;
    request: request.RequestAPI<any, any, any>;
    sendMail: (opts: any) => any;
    start(opts: any, cb: any): any;
    _getTemplateLanguages(templatePath: any): string[];
    _compileTemplate(template: any, extension: any): {
        subject: any;
        body: any;
    };
    _readTemplateFile(language: string, filename: string, cb: any): void;
    _loadTemplate(emailType: EmailType, recipient: Recipient, extension: string, cb: any): void;
    _applyTemplate(template: any, data: any, cb: any): any;
    _getRecipientsList(notification: Notification, emailType: EmailType, cb: any): void;
    _getDataForTemplate(notification: Notification, recipient: Recipient, cb: any): Promise<any>;
    _send(email: any, cb: any): void;
    _readAndApplyTemplates(notification: Notification, emailType: EmailType, recipientsList: Recipient[], cb: any): void;
    _checkShouldSendEmail(notification: Notification, cb: any): any;
    sendEmail(notification: Notification, cb: any): any;
    private oneInchGetCredentials;
    getTokenData(chain: string): Promise<unknown>;
}
export {};
//# sourceMappingURL=emailservice.d.ts.map