import { ConfigService } from '@nestjs/config';
import { LeaveRequest } from '../leaves/entities/leave-request.entity';
import { User } from '../users/entities/user.entity';
import { Announcement } from '../announcements/entities/announcement.entity';
export declare class MailService {
    private readonly config;
    private readonly logger;
    private readonly transporter;
    constructor(config: ConfigService);
    private get from();
    private send;
    sendReminder(email: string, request: LeaveRequest): Promise<void>;
    sendLeaveStatusEmail(email: string, subject: string, message: string): Promise<void>;
    sendAnnouncementEmail(email: string, announcement: Announcement): Promise<void>;
    sendPasswordResetEmail(email: string, token: string): Promise<void>;
    sendLeaveRequestToValidator(validatorEmail: string, requester: User, request: LeaveRequest, level: 1 | 2): Promise<void>;
    sendInviteEmail(email: string, firstName: string, inviteUrl: string): Promise<void>;
}
