import { Association, BelongsToManyGetAssociationsMixin, HasManyCreateAssociationMixin, HasManyGetAssociationsMixin, HasOneGetAssociationMixin } from 'sequelize';
import { BaseModel } from '../../core/BaseModel';
import { CoreOrder } from '../coreOrder';
import { UserMabi } from '../mabi';
import { Material } from '../material';
import { TaskRecord } from '../task';
import { UserIntegral } from './UserIntegral';
import { UserIntegralRecord } from './UserIntegralRecord';
import { UserInviteCode } from './UserInviteCode';
import { UserInviteRecord } from './UserInviteRecord';
import { UserLoginLog } from './UserLoginLog';
import { UserOutIntegration } from './UserOutIntegration';
import { UserPush } from './UserPush';
import { UserShareLog } from './UserShareLog';
export declare const GENDER: {
    MALE: number;
    FEMALE: number;
};
export declare const USER_STATUS: {
    NORMAL: number;
};
export declare class User extends BaseModel {
    static associations: {
        integrations: Association<User, UserOutIntegration>;
        inviteCode: Association<User, UserInviteCode>;
        inviteRecords: Association<User, UserInviteRecord>;
        pushs: Association<User, UserPush>;
        loginLogs: Association<User, UserLoginLog>;
        shareLogs: Association<User, UserShareLog>;
        integral: Association<User, UserIntegral>;
        integralRecords: Association<User, UserIntegralRecord>;
        taskRecords: Association<User, TaskRecord>;
        materials: Association<User, Material>;
        coreOrders: Association<User, CoreOrder>;
        mabi: Association<User, UserMabi>;
    };
    id: number;
    name: string;
    username: string;
    userPhoto: string;
    password: string;
    phoneNumber: string;
    gender: number;
    status: number;
    createdAt: Date;
    updatedAt: Date;
    deleted: boolean;
    getIntegrations: HasManyGetAssociationsMixin<UserOutIntegration>;
    getInviteCode: HasOneGetAssociationMixin<UserInviteCode>;
    getInviteRecords: HasManyGetAssociationsMixin<UserInviteRecord>;
    getPushs: HasManyGetAssociationsMixin<UserPush>;
    getLoginLogs: HasManyGetAssociationsMixin<UserLoginLog>;
    getShareLogs: HasManyGetAssociationsMixin<UserShareLog>;
    getIntegral: HasOneGetAssociationMixin<UserIntegral>;
    getIntegralRecords: HasManyGetAssociationsMixin<UserIntegralRecord>;
    getTaskRecords: HasManyGetAssociationsMixin<TaskRecord>;
    getMaterials: BelongsToManyGetAssociationsMixin<Material>;
    getCoreOrders: HasManyGetAssociationsMixin<CoreOrder>;
    createInviteRecord: HasManyCreateAssociationMixin<UserInviteRecord>;
    readonly integral: UserIntegral;
    readonly inviteCode: UserInviteCode;
    mabi: UserMabi;
}
