import { CampaignService } from './campaign.service';
import { AutoGenerateCampaignDto, CreateCampaignDto } from './dto/create-campaign.dto';
import { UpdateCampaignDto } from './dto/update-campaign.dto';
export declare class CampaignController {
    private readonly campaignService;
    constructor(campaignService: CampaignService);
    create(createCampaignDto: CreateCampaignDto, businessId: string): Promise<import("./entities/campaign.entity").Campaign>;
    autoGenerateCampaign(data: AutoGenerateCampaignDto, businessId: string): Promise<any>;
    findAll(businessId: string): Promise<import("./entities/campaign.entity").Campaign[]>;
    findOne(id: string): Promise<import("./entities/campaign.entity").Campaign>;
    getCampaignMetrics(id: string): Promise<{
        campaignName: string;
        campaignStatus: string;
        coverage: string;
        targetedEmployees: {
            total: number;
            reachedCount: number;
            clickedCount: number;
            didNotClickCount: number;
        };
        emailStats: {
            totalSent: number;
            totalOpened: number;
            openRate: string;
        };
        phishingResponseStats: {
            totalClicks: number;
            totalFormSubmissions: number;
            totalReports: number;
            totalDownloads: number;
            clickRate: string;
            submissionRate: string;
            reportRate: string;
        };
    }>;
    update(id: string, updateCampaignDto: UpdateCampaignDto): Promise<number>;
    remove(id: string): Promise<string>;
}
