import { Ref } from '@typegoose/typegoose'; import * as Interface from './reward.interface'; import { DineroObject } from '~backend/utils/model'; import { Types } from 'mongoose'; import { Member, LevelUp } from '~backend/marketing/membership/membership.model'; import { VoucherClaim, Voucher, FreeCreditOption } from '../marketing.model'; import { Business, Restaurant } from '~backend/business/business.model'; import { CreditTransaction } from '../credit/credit.model'; export declare class RewardBillItemDto implements Interface.RewardBillItem { productId: string; count: number; userId: string | null; itemTotal: DineroObject; } export declare class CreateRewardsOptionDto implements Interface.CreateRewardsOption { billId: string; billTotal: DineroObject; userId: string | null; items: RewardBillItemDto[]; } export declare class MemberRewardIssueResult implements Interface.MemberRewardIssueResult { id: Ref | null; fromExp: number; toExp: number; levelUp: LevelUp[]; tier?: number; } export declare class RewardIssue implements Interface.RewardIssue { user: string; member: MemberRewardIssueResult; claims: Ref[]; creditTransactions: Ref[]; read: boolean; } export declare class Reward implements Interface.Reward { static _publicAppUrl: string | null; _id: Types.ObjectId; business: Ref; restaurant: Ref | null; experience: number; vouchers: Ref[]; issued: RewardIssue | null; credits: FreeCreditOption[]; get id(): any; get rewardLink(): string; }