import { NotificationTemplate } from '../builders/EmailPayloadBuilder';
export interface EmailNotification {
    send(): Promise<void>;
}
export declare abstract class NotificationFactory {
    abstract createEmail(template: NotificationTemplate, ctx: Record<string, unknown>): EmailNotification;
}
export declare class SmtpNotificationFactory extends NotificationFactory {
    createEmail(template: NotificationTemplate, ctx: Record<string, unknown>): EmailNotification;
}
export declare class MockNotificationFactory extends NotificationFactory {
    sent: Array<{
        template: NotificationTemplate;
        ctx: Record<string, unknown>;
    }>;
    createEmail(template: NotificationTemplate, ctx: Record<string, unknown>): EmailNotification;
}
//# sourceMappingURL=NotificationFactory.d.ts.map