import IBase from '../Base'; import IGroup from '../Group'; import { UserGroupPopulate } from '../Group/Group'; import IRole from '../Role'; import { RolePopulate } from '../Role/Role'; export default interface IUser extends IBase { username?: string; password?: string; firstName?: string; lastName?: string; middleName?: string; displayName?: string; email?: string; picture?: string; /** * @default "default" */ provider?: string; role?: IRole | string; groups?: IGroup[] | string[] | any[] | IGroup | string; } export declare class UserPopulate implements IUser { _id: string; username: string; firstName?: string; lastName?: string; middleName?: string; displayName?: string; /** * @format email */ email?: string; picture?: string; hidden?: boolean; } export declare class UserRequest implements IUser { username: string; password?: string; firstName?: string; lastName?: string; middleName?: string; displayName?: string; /** * @format email */ email?: string; /** * @format binary */ picture?: string; provider: IUser['provider']; role: RolePopulate | string; /** * @TJS-type object */ props?: any; /** * @TJS-type object */ extendedProps?: any; hidden?: boolean; } export declare class UserResponse implements IUser { _id: string; username: string; firstName?: string; lastName?: string; middleName?: string; displayName?: string; /** * @format email */ email?: string; picture?: string; provider: IUser['provider']; role: RolePopulate | string; props?: any; extendedProps?: any; groups?: UserGroupPopulate[] | string[]; createdAt?: IBase['createdAt']; createdBy?: UserPopulate | string; updatedAt?: IBase['updatedAt']; updatedBy?: UserPopulate | string; }