import { EmailPayload } from '../../shared/models';
import { MUser } from '../types/models';
declare class Emailer {
    private static instance;
    private initialized;
    private transporter;
    private constructor();
    init(): void;
    checkConnection(): Promise<void>;
    addPasswordResetEmailJob(username: string, to: string, resetPasswordUrl: string): void;
    addPasswordCreateEmailJob(username: string, to: string, createPasswordUrl: string): void;
    addVerifyEmailJob(username: string, to: string, verifyEmailUrl: string): void;
    addUserBlockJob(user: MUser, blocked: boolean, reason?: string): void;
    addContactFormJob(fromEmail: string, fromName: string, subject: string, body: string): void;
    sendMail(options: EmailPayload): Promise<void>;
    private warnOnConnectionFailure;
    private initSMTPTransport;
    private initSendmailTransport;
    static get Instance(): Emailer;
}
export { Emailer };
//# sourceMappingURL=emailer.d.ts.map