import { Sequelize, DataTypes, Model, Optional } from 'sequelize';
import { RoleMasterAttributes } from './role_master';
export interface UserAttributes {
    id: number;
    first_name?: string;
    last_name?: string;
    mobile?: string;
    role_id: number;
    email: string;
    token: string;
    isActive?: boolean;
    api_key?: string;
    api_key_created_at?: Date;
    api_key_last_used?: Date;
    staff_augmentation?: boolean;
    staff_augmentation_percentage?: number;
}
interface UserCreationAttributes extends Optional<UserAttributes, 'id'> {
}
export declare class User extends Model<UserAttributes, UserCreationAttributes> implements UserAttributes {
    static associate(models: any): void;
    id: number;
    username: string;
    first_name?: string;
    last_name?: string;
    mobile?: string;
    password?: string;
    email: string;
    role_id: number;
    token: string;
    isActive?: boolean;
    api_key?: string;
    api_key_created_at?: Date;
    api_key_last_used?: Date;
    role_master?: RoleMasterAttributes;
    staff_augmentation?: boolean;
    staff_augmentation_percentage?: number;
    toJSON(): UserAttributes & {
        role_master?: RoleMasterAttributes;
    };
}
declare const _default: (sequelize: Sequelize, dataTypes: typeof DataTypes) => typeof User;
export default _default;
