import { Campaign } from 'src/campaign/entities/campaign.entity';
import { EmailService } from 'src/email-sender/email.service';
import { EmployeeService } from 'src/employee/employee.service';
import { UpdateEmailSentDto } from './dto/update-email-sent.dto';
import { EmailSent } from './entities/email-sent.entity';
import { JwtService } from '@nestjs/jwt';
import { EmailTemplate } from 'src/email-template/entities/email-template.entity';
import { EmailTemplateClue } from 'src/email-template-clues/entities/email-template-clue.entity';
export declare class EmailSentService {
    private readonly emailSentRepository;
    private readonly employeeService;
    private readonly emailSenderService;
    private readonly jwtService;
    private readonly logger;
    constructor(emailSentRepository: typeof EmailSent, employeeService: EmployeeService, emailSenderService: EmailService, jwtService: JwtService);
    create(createEmailSentDto: any): Promise<EmailSent>;
    findAll(): Promise<EmailSent[]>;
    findOne(id: string): string;
    update(id: string, updateEmailSentDto: UpdateEmailSentDto): string;
    remove(id: string): string;
    getCampaginsDataByEmployeeId(id: string): Promise<EmailSent[]>;
    generateUniqueUUID(): Promise<string>;
    private createToken;
    generateCampaignEmails(campaign: Campaign): Promise<void>;
    onModuleInit(): Promise<void>;
    EmailLinkOpened(id: string): Promise<void>;
    EmailFormSubmited(id: string): Promise<void>;
    sendLearningEmails(): Promise<void>;
    getClueElement(clue: EmailTemplateClue): string;
    GetLearningOverView(emailTemplate: EmailTemplate, emailContent: string): string;
    handleCron(): Promise<void>;
}
