import { BaseEntity } from 'typeorm';
import UserMeta from '@server/models/user-meta.model';
import UserSession from '@server/models/user-session.model';
import UserToken from '@server/models/user-token.model';
import { IUser, UserStatus } from '@shared/interfaces/model';
import Group from '@server/models/group.model';
export default class User extends BaseEntity implements IUser {
    id: number;
    email: string;
    password: string;
    firstName?: string;
    lastName?: string;
    status: UserStatus;
    createdAt: Date;
    updatedAt: Date;
    groups: Group[];
    meta: UserMeta[];
    sessions: UserSession[];
    tokens: UserToken[];
    sanitizeEmail(): void;
    applyMeta(meta: object): void;
    comparePasswordSync(password: string): boolean;
    comparePassword(password: string): Promise<boolean>;
    setPasswordSync(password: string): void;
    setPassword(password: string): Promise<void>;
}
