import type { EmitterLike } from '@adonisjs/core/types/events';
import type { MailEvents, MailerContract, MailerMessenger, NodeMailerMessage, MessageBodyTemplates, MailTransportContract } from '../types.js';
/**
 * Memory queue messenger uses "fastq" npm package to keep
 * emails within memory and send them in the chunks of 10
 */
export declare class MemoryQueueMessenger implements MailerMessenger {
    #private;
    mailer: MailerContract<MailTransportContract>;
    constructor(mailer: MailerContract<MailTransportContract>, emitter: EmitterLike<MailEvents>);
    /**
     * Queues the email within memory
     */
    queue(mail: {
        message: NodeMailerMessage;
        views: MessageBodyTemplates;
    }, sendConfig?: unknown): Promise<void>;
}
