import { PrismaService } from '../prisma/prisma.service';
import { email as Email } from '@prisma/client';
import { TemplatePayloadDto } from './dto/template-payload.dto';
import { RegistrationDataDto } from './dto/registration-data.dto';
export declare class EmailService {
    private prisma;
    private job;
    private transporter;
    constructor(prisma: PrismaService);
    verify(): Promise<void>;
    create(payload: TemplatePayloadDto): Promise<{
        email_id: number;
        created_date: Date;
        payload: import(".prisma/client").Prisma.JsonValue;
        meta: import(".prisma/client").Prisma.JsonValue;
        processed: boolean;
    } | undefined>;
    find(processed?: boolean): Promise<Email[] | undefined>;
    update(email_id: number, meta: object): Promise<{
        email_id: number;
        created_date: Date;
        payload: import(".prisma/client").Prisma.JsonValue;
        meta: import(".prisma/client").Prisma.JsonValue;
        processed: boolean;
    } | undefined>;
    startProcessing(): void;
    stopProcessing(): void;
    registrationTitleReference(template: string): string;
    encodeDataEntries(data: RegistrationDataDto): RegistrationDataDto;
    send(payload: TemplatePayloadDto): Promise<any>;
    toggleProcessing(processing: boolean): Promise<void>;
    isProcessing(): Promise<boolean>;
    sendScheduled(): Promise<void>;
}
