import { DbService } from 'src/db/db.service';
import { CommonService } from 'src/common/common.service';
import { Types } from 'mongoose';
import { LoyaltyPointType } from './entities/loyality-history.entity';
import { CustomerService } from 'src/customer/customer.service';
export declare class LoyalityPointsService {
    private readonly model;
    private readonly commonService;
    private readonly CustomerService;
    constructor(model: DbService, commonService: CommonService, CustomerService: CustomerService);
    getUserLoyaltyWallet(customerId: Types.ObjectId): Promise<{
        statusCode: number;
        message: string;
        result: (import("mongoose").Document<unknown, {}, import("./entities/loyality-wallet.entity").LoyaltyWallet, {}, {}> & import("./entities/loyality-wallet.entity").LoyaltyWallet & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        }) | {
            balance: number;
        };
    }>;
    getUserLoyaltyHistory(customerId: string, page: number, limit: number): Promise<{
        statusCode: number;
        message: string;
        result: {
            data: (import("mongoose").Document<unknown, {}, import("./entities/loyality-history.entity").LoyaltyHistory, {}, {}> & import("./entities/loyality-history.entity").LoyaltyHistory & {
                _id: Types.ObjectId;
            } & {
                __v: number;
            })[];
            total: number;
            page: number;
            limit: number;
            total_point: any;
        };
    }>;
    awardPoints(customerId: Types.ObjectId, order_id: Types.ObjectId | null, points: number, type?: LoyaltyPointType, note?: string): Promise<void>;
    manageReferralAfterFinalOrder(child_customer: any): Promise<{
        message: string;
        referalOrders?: undefined;
    } | {
        referalOrders: (import("mongoose").Document<unknown, {}, import("../customer/schema/customer-referral.schema").CustomerReferralOrder, {}, {}> & import("../customer/schema/customer-referral.schema").CustomerReferralOrder & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        message?: undefined;
    }>;
}
