import { IEntity, Role } from 'purple-cheetah';
import { RefreshToken } from '../interfaces/refresh-token.interface';
import { CustomPool } from '../interfaces/custom-pool.interface';
import { Types, Schema } from 'mongoose';
export interface IUser extends IEntity {
    username: string;
    email: string;
    password: string;
    roles: Role[];
    refreshTokens: RefreshToken[];
    customPool: CustomPool;
}
export declare class User {
    _id: Types.ObjectId;
    createdAt: number;
    updatedAt: number;
    username: string;
    email: string;
    password: string;
    roles: Role[];
    refreshTokens: RefreshToken[];
    customPool: CustomPool;
    constructor(_id: Types.ObjectId, createdAt: number, updatedAt: number, username: string, email: string, password: string, roles: Role[], refreshTokens: RefreshToken[], customPool: CustomPool);
    static get schema(): Schema;
}
