import { IAttachment } from './attachment'; import { Ref } from './common'; import { HasObjectId } from './has-object-id'; import { Lang } from './lang'; export type IUser = { name: string; username: string; email: string; password: string; image?: string; imageAttachment?: Ref; imageUrlCached: string; isGravatarEnabled: boolean; admin: boolean; readOnly: boolean; apiToken?: string; isEmailPublished: boolean; isInvitationEmailSended: boolean; lang: Lang; slackMemberId?: string; createdAt: Date; lastLoginAt?: Date; contributionsMigratedAt?: Date; introduction: string; status: IUserStatus; }; export type IUserGroupRelation = { relatedGroup: Ref; relatedUser: Ref; createdAt: Date; }; export type IUserGroup = { name: string; createdAt: Date; description: string; parent: Ref | null; }; export declare const USER_STATUS: { readonly REGISTERED: 1; readonly ACTIVE: 2; readonly SUSPENDED: 3; readonly DELETED: 4; readonly INVITED: 5; }; export type IUserStatus = (typeof USER_STATUS)[keyof typeof USER_STATUS]; export type IUserHasId = IUser & HasObjectId; export type IUserGroupHasId = IUserGroup & HasObjectId; export type IUserGroupRelationHasId = IUserGroupRelation & HasObjectId; export type IAdminExternalAccount

= { _id: string; providerType: P; accountId: string; user: IUser; createdAt: Date; };