import mongoose from "mongoose";
import { AddressInterface, AuditInterface, ProjectInterface, StatusType, TenantInterface } from "../interfaces";
export interface UserInterface extends AuditInterface {
    uid: string;
    name?: string;
    fullname?: string;
    fullName: string;
    displayName?: string;
    firstName?: string;
    lastName?: string;
    email?: string;
    email_verified?: boolean;
    emailVerified?: boolean;
    phoneNumber?: string;
    isAnonymous?: boolean;
    photoURL?: string;
    address?: AddressInterface;
    status: StatusType;
    validThrough?: string;
    slug?: string;
    birthDay?: string;
    nationality?: string;
    socialMedia?: {
        [code: string]: string;
    };
    wishlist?: string[];
    mobile?: string;
    phone?: string;
    image: string;
    dateOfBirth?: string;
    licenceNumber?: string;
    licenceExpiryDate?: string;
    jobTitle?: string;
    tenantId?: string;
    tenant?: TenantInterface;
    profile?: string;
    profileVideo?: string;
    startDate?: string;
    contractValedDate?: string;
    showOnWeb: boolean;
    customToken?: string;
    facebookUrl?: string;
    instagramUrl?: string;
    linkedInUrl?: string;
    twitterUrl?: string;
    keyword?: string;
    callCalenderUrl?: string;
    deviceToken?: string[];
    groupId?: string;
}
export interface UserInterfaceServer extends AuditInterface {
    uid: string;
    name?: string;
    fullname?: string;
    fullName: string;
    displayName?: string;
    firstName?: string;
    lastName?: string;
    email?: string;
    email_verified?: boolean;
    emailVerified?: boolean;
    phoneNumber?: string;
    isAnonymous?: boolean;
    photoURL?: string;
    address?: mongoose.Types.ObjectId;
    status: StatusType;
    validThrough?: string;
    slug?: string;
    birthDay?: string;
    nationality?: string;
    socialMedia?: {
        [code: string]: string;
    };
    wishlist?: string[];
    mobile?: string;
    phone?: string;
    image: string;
    dateOfBirth?: string;
    licenceNumber?: string;
    licenceExpiryDate?: string;
    jobTitle?: string;
    tenantId?: string;
    tenant?: mongoose.Types.ObjectId;
    profile?: string;
    profileVideo?: string;
    startDate?: string;
    contractValedDate?: string;
    showOnWeb: boolean;
    customToken?: string;
    facebookUrl?: string;
    instagramUrl?: string;
    linkedInUrl?: string;
    twitterUrl?: string;
    keyword?: string;
    callCalenderUrl?: string;
    deviceToken?: string[];
    groupId?: string;
}
export interface UserWishlistInterface extends AuditInterface {
    uid: string;
    userId: string;
    user: UserInterface;
    projectId: string;
    Project: ProjectInterface;
}
export interface UserWishlistInterfaceServer extends AuditInterface {
    uid: string;
    userId: string;
    user: mongoose.Types.ObjectId;
    projectId: string;
    Project: mongoose.Types.ObjectId;
}
