import { NewsletterService } from './news-letter.service';
import { SubscribeDto, SendNewsletterDto, UnsubscribeDto } from './dto/subscribe.dto';
import { HostType, SendTo } from 'common/enum/HostType.enum';
export declare class NewsletterController {
    private readonly newsletterService;
    private readonly logger;
    constructor(newsletterService: NewsletterService);
    subscribe(subscribeDto: SubscribeDto): Promise<{
        message: string;
    }>;
    unsubscribe(unsubscribeDto: UnsubscribeDto): Promise<{
        message: string;
    }>;
    sendNewsletter(sendNewsletterDto: SendNewsletterDto, res: any): Promise<any>;
    getSubscriberCount(host: HostType): Promise<{
        count: number;
        host: HostType;
    }>;
    getNewslettersSentCount(host: SendTo): Promise<{
        count: number;
        host: SendTo;
    }>;
    getAllSubscribers(): Promise<{
        subscribers: import("./entitity/subscriber.entity").Subscriber[];
    }>;
    getSubscribersByHost(host: HostType): Promise<{
        subscribers: import("./entitity/subscriber.entity").Subscriber[];
        host: HostType;
    }>;
    getSubscribersByEmail(email: string): Promise<{
        subscribers: import("./entitity/subscriber.entity").Subscriber[];
        email: string;
    }>;
    getSubscribersByStatus(isActive: boolean): Promise<{
        subscribers: import("./entitity/subscriber.entity").Subscriber[];
        isActive: boolean;
    }>;
    getSubscribersByHostAndStatus(host: HostType, isActive: boolean): Promise<{
        subscribers: import("./entitity/subscriber.entity").Subscriber[];
        host: HostType;
        isActive: boolean;
    }>;
    getAllNewsletterLogs(): Promise<{
        logs: import("./entitity/newsletter-log.entity").NewsletterLog[];
    }>;
    getNewsletterLogById(id: number): Promise<{
        log: import("./entitity/newsletter-log.entity").NewsletterLog;
    }>;
    deleteNewsletterLog(id: number): Promise<{
        message: string;
    }>;
}
