import { Repository } from 'typeorm';
import { Subscriber } from './entitity/subscriber.entity';
import { ConfigService } from '@nestjs/config';
import { HostType, SendTo } from 'common/enum/HostType.enum';
import { INewsletterSendOptions } from './interface/Inewsletter.interface';
import { NewsletterLog } from './entitity/newsletter-log.entity';
export declare class NewsletterService {
    private readonly subscriberRepository;
    private readonly newsletterLogRepository;
    private readonly configService;
    private transporter;
    constructor(subscriberRepository: Repository<Subscriber>, newsletterLogRepository: Repository<NewsletterLog>, configService: ConfigService);
    subscribe(email: string, host: HostType): Promise<string>;
    unsubscribe(email: string, host: HostType): Promise<string>;
    private getRecipients;
    sendNewsletter(options: INewsletterSendOptions): Promise<string>;
    countActiveSubscribers(host: HostType): Promise<number>;
    getAllSubscribers(): Promise<Subscriber[]>;
    getSubscribersByHost(host: HostType): Promise<Subscriber[]>;
    getSubscribersByEmail(email: string): Promise<Subscriber[]>;
    getSubscribersByStatus(isActive: boolean): Promise<Subscriber[]>;
    getSubscribersByHostAndStatus(host: HostType, isActive: boolean): Promise<Subscriber[]>;
    countNewslettersSent(host: SendTo): Promise<number>;
    findAllNewsletterLogs(): Promise<NewsletterLog[]>;
    findNewsletterLogById(id: number): Promise<NewsletterLog>;
    deleteNewsletterLog(id: number): Promise<string>;
}
