import { ReturnModelType } from '@typegoose/typegoose'; import { CreditService } from '~backend/marketing/credit/credit.service'; import { RewardService } from '~backend/marketing/reward/reward.service'; import { IDistributeDto } from '../base/base-reward-job.interface'; import { BaseRewardJobService } from '../base/base-reward-job.service'; import { IRewardJob } from '../reward-job.interface'; import { RewardJob } from '../reward-job.model'; import { ICreditDispatchDto } from './credit-reward-job.interface'; import { Logger } from '@nestjs/common'; import { MailService } from '~backend/mail/mail.service'; import { WebsocketService } from '~backend/websocket/websocket.service'; import { UserService } from '~backend/user/user.service'; import { SourceType } from '~backend/marketing/reward-job/reward-job.interface'; export declare class CreditRewardJobService extends BaseRewardJobService { protected readonly rewardJobModel: ReturnModelType; protected readonly rewardService: RewardService; protected readonly userService: UserService; private readonly creditService; protected readonly websocketService: WebsocketService; protected readonly mailService: MailService; constructor(rewardJobModel: ReturnModelType, rewardService: RewardService, userService: UserService, creditService: CreditService, websocketService: WebsocketService, mailService: MailService); protected readonly logger: Logger; protected newJobObject(dto: ICreditDispatchDto): IRewardJob; private getRef; protected distribute({ job, user, member }: IDistributeDto): Promise<{ refs: Types.ObjectId[]; rewards: Types.ObjectId[]; }>; isBillCashback(sourceType: SourceType): boolean; rollback(job: IRewardJob): Promise; }