import { Repository } from 'typeorm';
import { Campaign, CampaignStatus } from './entities/campaign.entity';
import { CreateCampaignDto } from './dto/create-campaign.dto';
import { UpdateCampaignDto } from './dto/update-campaign.dto';
export declare class CampaignsService {
    private campaignsRepository;
    constructor(campaignsRepository: Repository<Campaign>);
    private generateSlug;
    create(organizationId: string, createDto: CreateCampaignDto): Promise<Campaign>;
    findAll(organizationId: string, status?: CampaignStatus): Promise<Campaign[]>;
    findById(id: string, organizationId?: string): Promise<Campaign>;
    findBySlug(slug: string): Promise<Campaign>;
    update(id: string, organizationId: string, updateDto: UpdateCampaignDto): Promise<Campaign>;
    updateStatus(id: string, organizationId: string, status: CampaignStatus): Promise<Campaign>;
    delete(id: string, organizationId: string): Promise<void>;
    getPublicCampaign(slug: string): Promise<any>;
}
