import { BaseEntity } from 'typeorm';
import { AddressEntity } from '../../address/entities/address.entity';
import { OrderEntity } from '../../order/entities/order.entity';
import { ServiceReminderEntity } from '../../service/entities/service-reminder.entity';
import { CarEntity } from '../../car/entities/car.entity';
import { PollEntity } from '../../poll/entities/poll.entity';
import { PointEntity } from '../../point/entities/point.entity';
import { TicketEntity } from '../../ticket/entities/ticket.entity';
import { ProductNotifQuantityEntity } from 'src/modules/product/entities/product-notif-quantity.entity';
import { NewsEntity } from 'src/modules/news/entities/news.entity';
import { NewscommentEntity } from 'src/modules/news/entities/news-comment.entity';
import { RoleEntity } from '../../role/entities/role.entity';
import { LogEntity } from '../../log/entities/log.entity';
import { WithdrawEntity } from 'src/modules/withdraw/entities/withdraw.entity';
import { CustomerEntity } from '../../customer/entities/customer.entity';
import { BonusCreditsEntity } from '../../bonus-credit/entities/bonus-credit.entity';
import { ProductEntity } from '../../product/entities/product.entity';
import { DiscountEntity } from '../../discount/entities/discount.entity';
import { NegativeScoreEntity } from '../../negative-score/entities/negative-score.entity';
import { DrivingOffenseEntity } from '../../drivinig-offense/entities/driving-offense.entity';
import { PaymentEntity } from '../../payment/entities/payment.entity';
import { FreewayTollEntity } from '../../freeway-toll/entities/freeway-toll.entity';
import { InsuranceThirdPartyInquiryEntity } from '../../insurance/entities/insurance-third-party-inquiry.entity';
export declare enum RoleIds {
    Admin = 2,
    ServiceMan = 3,
    User = 1
}
export declare const Roles: {
    1: string;
    2: string;
    3: string;
};
export declare enum Gender {
    male = "male",
    female = "female"
}
export declare class UserEntity extends BaseEntity {
    id: string;
    email: string | null;
    password: string | null;
    name: string | null;
    surName: string | null;
    nationalCode: string | null;
    gender: Gender | null;
    birthday: string | null;
    phone: string | null;
    mobile: string | null;
    address: string | null;
    licenseNumber: string | null;
    virtualWallet: number;
    realWallet: number;
    bankName: string | null;
    accountNumber: string | null;
    cardNumber: string | null;
    sheba: string | null;
    isServiceman: boolean | null;
    isActive: boolean | null;
    isAdmin: boolean | null;
    roleId: RoleIds;
    groupId: number | null;
    isActiveGroup: boolean | null;
    codeRegister: string | null;
    countSms: number;
    isBlock: number;
    userKey: string | null;
    moaref: string | null;
    avatar: string | null;
    deleted: boolean | null;
    customerId: number | null;
    isImported: boolean;
    lastActivityAt: Date | null;
    lastSendAdvertisementAt: Date | null;
    createdAt: Date;
    updatedAt: Date;
    customer: CustomerEntity;
    addresses: AddressEntity[];
    cars: CarEntity[];
    orders: OrderEntity[];
    serviceMans: OrderEntity[];
    serviceReminders: ServiceReminderEntity[];
    polls: PollEntity[];
    points: PointEntity[];
    tickets: TicketEntity[];
    role: RoleEntity;
    productNotifQuantities: ProductNotifQuantityEntity[];
    news: NewsEntity[];
    newscomments: NewscommentEntity[];
    withdraws: WithdrawEntity[];
    ordersSeller: OrderEntity[];
    operatorlogs: LogEntity[];
    affectedLogs: LogEntity[];
    bonusCredits: BonusCreditsEntity[];
    products: ProductEntity[];
    discounts: DiscountEntity[];
    negativeScores: NegativeScoreEntity[];
    drivingOffenses: DrivingOffenseEntity[];
    payments: PaymentEntity[];
    freewayTolls: FreewayTollEntity[];
    insuranceThirdPartyInquiries: InsuranceThirdPartyInquiryEntity[];
    previousPassword: string;
    loadPreviousPassword(): void;
    setPassword(): Promise<void>;
    isCorrectSaltPassword(plainPassword: string): Promise<boolean>;
    isCorrectEncryptPassword(plainPassword: string): boolean;
}
