import { IImageModelAttributes } from "../../Base/entities/image.entity";
import { IEventModelAttributes } from "./event.entity";
export type RoleType = "admin" | "organizer" | "officer" | "client" | "entry_staff";
export interface IUserModelAttributes {
    _id: string;
    name: string;
    email: string;
    phoneNumber: string;
    password: string;
    googlePassword: string;
    applePassword: string;
    otpSecret: string;
    image: IImageModelAttributes;
    roles: RoleType[];
    favorites: (string | IEventModelAttributes)[];
    isActive?: boolean;
    isTFAEnabled?: boolean;
    papiPoint: number;
    shareCount: number;
    loginAttempts?: number;
    lockUntil?: number;
    birthDate?: Date;
    notificationPreferences: {
        email: boolean;
        sms: boolean;
        newsletter: boolean;
    };
    lastLogin?: Date;
    lastLoginIP?: string;
    createdAt?: Date;
    updatedAt?: Date;
}
