import { TopicRepository, TopicSubscribersRepository } from '@novu/dal'; import { ISubscribersDefine, SubscriberSourceEnum, TriggerRecipient, TriggerRecipientSubscriber } from '@novu/shared'; import { SubscriberProcessQueueService } from '../../services/queues/subscriber-process-queue.service'; import { TriggerMulticastCommand } from './trigger-multicast.command'; import { IProcessSubscriberBulkJobDto } from '../../dtos'; import { GetFeatureFlag } from '../get-feature-flag'; export declare class TriggerMulticast { private subscriberProcessQueueService; private topicSubscribersRepository; private topicRepository; private getFeatureFlag; constructor(subscriberProcessQueueService: SubscriberProcessQueueService, topicSubscribersRepository: TopicSubscribersRepository, topicRepository: TopicRepository, getFeatureFlag: GetFeatureFlag); execute(command: TriggerMulticastCommand): Promise; private getTopicsByTopicKeys; private validateTopicExist; private subscriberProcessQueueAddBulk; sendToProcessSubscriberService(command: TriggerMulticastCommand, subscribers: ISubscribersDefine[], _subscriberSource: SubscriberSourceEnum): Promise; } export declare const splitByRecipientType: (mappedRecipients: TriggerRecipient[]) => { singleSubscribers: Map; topicKeys: Set; }; export declare const buildSubscriberDefine: (recipient: TriggerRecipientSubscriber) => ISubscribersDefine; export declare const validateSubscriberDefine: (recipient: ISubscribersDefine) => void; export declare const mapSubscribersToJobs: (_subscriberSource: SubscriberSourceEnum, subscribers: ISubscribersDefine[], command: TriggerMulticastCommand) => IProcessSubscriberBulkJobDto[]; //# sourceMappingURL=trigger-multicast.usecase.d.ts.map