import { Member, Membership } from '../membership.model'; import { ReturnModelType } from '@typegoose/typegoose'; import { Types } from 'mongoose'; import { RewardJobService } from '../../reward-job/reward-job.service'; import { MailService } from '~backend/mail/mail.service'; import { ConfigService } from '@nestjs/config'; import { UserService } from '~backend/user/user.service'; export declare class MembershipRewardService { readonly memberModel: ReturnModelType; readonly membershipModel: ReturnModelType; private readonly rewardJobService; private readonly userService; private readonly mailService; private readonly configService; constructor(memberModel: ReturnModelType, membershipModel: ReturnModelType, rewardJobService: RewardJobService, userService: UserService, mailService: MailService, configService: ConfigService); private readonly logger; private getDistributedAt; private memberHasBenefit; private isJoinBenefitValid; private filterSchedulerBenefitRecipients; private findRecipients; private findMemberships; private updateSchedulerBenefitCheckpoint; distributeRewardOnSetBirthday(): Promise; distributeRewardOnJoin(memberId: Types.ObjectId): Promise; private distributeRewardOnSchedule; }