import mongoose, { Document, Types } from 'mongoose';
export declare enum LoyaltyPointType {
    EARNED = "earned",
    REDEEMED = "redeemed",
    EXPIRED = "expired"
}
export type LoyaltyHistoryDocument = LoyaltyHistory & Document;
export declare class LoyaltyHistory {
    customer_id: Types.ObjectId;
    points: number;
    type: LoyaltyPointType;
    order_id?: Types.ObjectId;
    expiry_date?: Date;
    remarks?: string;
}
export declare const LoyaltyHistorySchema: mongoose.Schema<LoyaltyHistory, mongoose.Model<LoyaltyHistory, any, any, any, mongoose.Document<unknown, any, LoyaltyHistory, any, {}> & LoyaltyHistory & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, LoyaltyHistory, mongoose.Document<unknown, {}, mongoose.FlatRecord<LoyaltyHistory>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<LoyaltyHistory> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
export declare const loyaltyHistoryModel: mongoose.Schema<LoyaltyHistory, mongoose.Model<LoyaltyHistory, any, any, any, mongoose.Document<unknown, any, LoyaltyHistory, any, {}> & LoyaltyHistory & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, LoyaltyHistory, mongoose.Document<unknown, {}, mongoose.FlatRecord<LoyaltyHistory>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<LoyaltyHistory> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
