import { AiService } from 'src/ai/ai.service';
import { CampaignTargetService } from 'src/campaign-target/campaign-target.service';
import { EmailSentService } from 'src/email-sent/email-sent.service';
import { EmailTemplateService } from 'src/email-template/email-template.service';
import { SenderProfileService } from 'src/sender-profile/sender-profile.service';
import { TeamService } from 'src/team/team.service';
import { AutoGenerateCampaignDto, CreateCampaignDto } from './dto/create-campaign.dto';
import { UpdateCampaignDto } from './dto/update-campaign.dto';
import { Campaign } from './entities/campaign.entity';
interface AutoCampaign {
    name: string;
    emailTemplateId: string;
    senderProfileId: string;
    campaignTargets: string[];
    date: string;
}
interface CampaignData {
    campaigns: AutoCampaign[];
}
export declare class CampaignService {
    private readonly campaignRepository;
    private readonly aiService;
    private readonly campaignTargetService;
    private readonly emailTemplateService;
    private readonly profileSenderService;
    private readonly teamService;
    private readonly emailSentService;
    constructor(campaignRepository: typeof Campaign, aiService: AiService, campaignTargetService: CampaignTargetService, emailTemplateService: EmailTemplateService, profileSenderService: SenderProfileService, teamService: TeamService, emailSentService: EmailSentService);
    create(createCampaignDto: CreateCampaignDto, businessId: string): Promise<Campaign>;
    autoGenerateCampaign(params: AutoGenerateCampaignDto, businessId: string): Promise<CampaignData>;
    findAll(businessId: string): Promise<Campaign[]>;
    findOne(id: string): Promise<Campaign>;
    update(id: string, updateCampaignDto: UpdateCampaignDto): Promise<number>;
    remove(id: string): Promise<string>;
}
export {};
