import { ICreditDispatchDto } from './../../marketing/reward-job/credit/credit-reward-job.interface'; import { Queue, Job } from 'bull'; import { Bill } from '~core/modules/order/definitions'; import { Restaurant } from '~backend/business/business.model'; import { RewardService } from '~backend/marketing/reward/reward.service'; import { MembershipService } from '~backend/marketing/membership/membership.service'; import { VoucherService } from '~backend/marketing/voucher/voucher.service'; import { CreateRewardsOption } from '~backend/marketing/reward/reward.interface'; import { RestaurantService } from '~backend/business/restaurant/restaurant.service'; import { RewardJobService } from '~backend/marketing/reward-job/reward-job.service'; import { CouchDbEventData } from '~backend/couchdb-listener/couchdb-listener.interface'; import { BillMetaService } from '../billMeta.service'; import { Membership } from '~backend/marketing/membership/membership.model'; import { ClientProxy } from '@nestjs/microservices'; import { MarketingSettingsService } from '~backend/marketing-v2/marketing-v2.service'; export declare class BillMetaBackgroundService { private readonly rewardService; private readonly rewardJobService; private readonly restaurantService; private readonly voucherService; private readonly membershipService; private readonly billMetaService; private readonly processBillQueue; private eberServiceClient; private readonly marketingSettings; private readonly logger; constructor(rewardService: RewardService, rewardJobService: RewardJobService, restaurantService: RestaurantService, voucherService: VoucherService, membershipService: MembershipService, billMetaService: BillMetaService, processBillQueue: Queue, eberServiceClient: ClientProxy, marketingSettings: MarketingSettingsService); onBillCompleted(data: CouchDbEventData): Promise; processBill(job: Job>): Promise; dispatchBillRewardJobs(bill: Bill, restaurant: Restaurant): Promise[]>; buildCreditRewardDtos(payload: { option: CreateRewardsOption; bill: Bill; restaurant: Restaurant; membership: Membership; }): Promise; isCashbackActivate(membership: Membership): boolean; }