import { ConfigService } from '@nestjs/config';
export interface MailMessage {
    to: string;
    subject: string;
    html: string;
    text?: string;
}
export declare class MailService {
    private config;
    private readonly logger;
    private transporter;
    constructor(config: ConfigService);
    get siteUrl(): string;
    get fromAddress(): string;
    send(message: MailMessage): Promise<{
        ok: boolean;
        mode: 'smtp' | 'dev';
        error?: string;
    }>;
    sendMany(messages: MailMessage[]): Promise<{
        sent: number;
        failed: number;
        mode: 'smtp' | 'dev';
    }>;
    welcomeEmail(email: string): MailMessage;
    newsletterEmail(email: string, subject: string, messageHtml: string): MailMessage;
    enquiryReplyEmail(to: string, subject: string, bodyParagraphs: string[]): MailMessage;
    adminInviteEmail(to: string, name: string, inviteUrl: string, expiresAt: Date | null): MailMessage;
    sendSms(phone: string, text: string): Promise<{
        ok: boolean;
        mode: 'api' | 'device';
        smsLink?: string;
        error?: string;
    }>;
    private transactionalLayout;
    private escapeHtml;
    private layout;
    private stripHtml;
}
