import { n as RenameId } from "./types-laoxoA5P.js";
import { Document, Model, ObjectIdToString, Types } from "mongoose";
import { OmitId, User } from "better-auth";

//#region src/types/user.types.d.ts
interface UserData {
  email: string;
  name: string;
  phone?: string;
  dateOfBirth?: Date;
}
declare enum EmailsList {
  NEWS_LETTER = "newsLetter"
}
type User$1 = OmitId<UserData & User> & {
  id: Types.ObjectId;
  emailsList?: { [key in EmailsList]: boolean };
  customerId?: string;
  role?: string;
  lastLoginMethod?: 'email' | 'google' | 'github' | 'passkey';
  lang?: string;
  createdAt: Date;
  updatedAt: Date;
};
type UserAPI = ObjectIdToString<Omit<User$1, 'provider' | 'session'>>;
type UserSchema = RenameId<User$1>;
type UserModelType = Model<User$1>;
type UserDocument = Document<unknown, {}, User$1> & User$1;
//#endregion
export { UserDocument as a, UserData as i, User$1 as n, UserModelType as o, UserAPI as r, UserSchema as s, EmailsList as t };
//# sourceMappingURL=user.types-BcSU0sts.d.ts.map