import { PesService } from './pes.service';
import { CreatePesCampaignDto, PesCampaignResponseDto, UpdatePesCampaignDto } from './dto/pes-campaign.dto';
import { SendVerificationDto, SMTPConnectionTestProp } from './abstracts/pes.abstract';
import { CreatePesTemplateDto, PesTemplateResponseDto, UpdatePesTemplateDto } from './dto/pes-template.dto';
import { CreatePesSendingProfileDto, PesSendingProfileResponseDto, UpdatePesSendingProfileDto } from './dto/pes-sending-profile.dto';
import { CreatePesLandingPageDto, PesLandingPageResponseDto, UpdatePesLandingPageDto } from './dto/pes-landing-page.dto';
import { CreatePesRecipientGroupDto, PesRecipientGroupResponseDto } from './dto/pes-recipient-group.dto';
export declare class PesController {
    private readonly pesService;
    private readonly logger;
    constructor(pesService: PesService);
    createCampaign(req: any, dto: CreatePesCampaignDto): Promise<PesCampaignResponseDto>;
    updateCampaign(id: string, dto: UpdatePesCampaignDto): Promise<PesCampaignResponseDto>;
    deleteCampaign(id: string): Promise<{
        success: boolean;
        message: string;
    }>;
    sendTestEmail(body: {
        id: string;
        email: string;
    }): Promise<{
        success: boolean;
        message: string;
    }>;
    sendCampaignEmail(body: {
        email: string;
        campaignId: string;
    }): Promise<{
        success: boolean;
        message: string;
    }>;
    sendVerification(req: any, dto: string): Promise<{
        success: boolean;
        message: string;
    }>;
    verifyEmail(req: any, email: string, otp: string): Promise<{
        success: boolean;
        message: string;
    }>;
    resendVerification(dto: SendVerificationDto): Promise<{
        success: boolean;
        message: string;
    }>;
    checkStatus(email: string): Promise<{
        isVerified: boolean;
    }>;
    getVerifiedUser(req: any): Promise<any>;
    getTemplates(): Promise<PesTemplateResponseDto[]>;
    createTemplate(dto: CreatePesTemplateDto): Promise<PesTemplateResponseDto>;
    getTemplateById(templateId: string): Promise<PesTemplateResponseDto>;
    getTemplatesByVerifiedUserId(verifiedUserId: string): Promise<PesTemplateResponseDto[]>;
    updateTemplate(templateId: string, dto: UpdatePesTemplateDto): Promise<PesTemplateResponseDto>;
    deleteTemplate(templateId: string): Promise<{
        success: boolean;
        message: string;
    }>;
    createSendingProfile(dto: CreatePesSendingProfileDto): Promise<PesSendingProfileResponseDto>;
    updateSendingProfile(profileId: string, dto: UpdatePesSendingProfileDto): Promise<PesSendingProfileResponseDto>;
    testSmtpConnection(smtpConfig: SMTPConnectionTestProp): Promise<{
        success: boolean;
        message: string;
    }>;
    getSendingProfileById(profileId: string): Promise<PesSendingProfileResponseDto>;
    getSendingProfilesByVerifiedUserId(verifiedUserId: string): Promise<PesSendingProfileResponseDto[]>;
    deleteSendingProfile(profileId: string): Promise<{
        success: boolean;
        message: string;
    }>;
    getCampaignsByVerifiedUserEmail(req: any): Promise<PesCampaignResponseDto[]>;
    createLandingPage(dto: CreatePesLandingPageDto): Promise<PesLandingPageResponseDto>;
    getLandingPageById(id: string): Promise<PesLandingPageResponseDto>;
    getLandingPagesByVerifiedUserId(verifiedUserId: string): Promise<PesLandingPageResponseDto[]>;
    updateLandingPage(pageId: string, dto: UpdatePesLandingPageDto): Promise<PesLandingPageResponseDto>;
    deleteLandingPage(pageId: string): Promise<{
        success: boolean;
        message: string;
    }>;
    createRecipientGroup(dto: CreatePesRecipientGroupDto): Promise<PesRecipientGroupResponseDto>;
    addRecipientsToGroup(groupId: string, recipientsEmail: string[]): Promise<PesRecipientGroupResponseDto>;
    removeRecipientsFromGroup(groupId: string, recipientsEmail: string[]): Promise<PesRecipientGroupResponseDto>;
    deleteRecipientGroup(groupId: string, verifiedUserId: string): Promise<PesRecipientGroupResponseDto[]>;
    getRecipientGroupsByVerifiedUserId(verifiedUserId: string): Promise<PesRecipientGroupResponseDto[]>;
    getRecipientGroupById(groupId: string): Promise<PesRecipientGroupResponseDto>;
}
