import { Document, Types } from 'mongoose';
import { ClientStatus } from '../../common/enums';
export declare class Client extends Document {
    name: string;
    dateOfBirth: Date;
    gender: string;
    profilePhoto: string;
    email: string;
    phone: string;
    alternatePhone: string;
    address: Record<string, any>;
    timezone: string;
    salonId: Types.ObjectId;
    status: ClientStatus;
    totalVisits: number;
    totalSpent: number;
    visitsSinceLastOffer: number;
    spendSinceLastOffer: number;
    notifiedTriggerOffers: Types.ObjectId[];
    lastVisit: Date;
    favoriteServices: string[];
    preferredStylist: string;
    loyaltyPoints: number;
    appliedOffers: Types.ObjectId[];
    couponHistory: string[];
    newsletterSubscribed: boolean;
    smsSubscribed: boolean;
    notes: string;
    preferences: Record<string, any>;
    metadata: Record<string, any>;
    lastInferredAt: Date;
    messageCount: number;
    description: string;
    senderId: string;
    platformUsed: string[];
}
export declare const ClientSchema: import("mongoose").Schema<Client, import("mongoose").Model<Client, any, any, any, Document<unknown, any, Client, any, {}> & Client & Required<{
    _id: Types.ObjectId;
}> & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Client, Document<unknown, {}, import("mongoose").FlatRecord<Client>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<Client> & Required<{
    _id: Types.ObjectId;
}> & {
    __v: number;
}>;
