import type { GeoCoordinates, GeoPosition, IdObject, LinkMemberOfUserRef, LinkProjectRef, LinkEventsRef, LinkfriendsRef, LinkFollowsUserRef, LinkFollowersUserRef, PostalAddress, DateValue, SocialNetwork } from "./common.js"; import type EJSONType from "../../EJSONType.js"; type ObjectIDCtor = typeof EJSONType["ObjectID"]; type ObjectID = InstanceType; export interface UserLinksBlock { projects?: Record; memberOf?: Record; events?: Record; friends?: Record; followers?: Record; follows?: Record; [k: string]: unknown; } export interface UserRoles { superAdmin?: boolean; betaTester?: boolean; standalonePageAccess?: boolean; toBeValidated?: boolean; [k: string]: unknown; } export interface UserPreferences { isOpenData?: boolean; badge?: boolean; activitypub?: boolean; [k: string]: unknown; } export interface UserItemJson { _id: IdObject; collection: "citoyens"; name: string; username: string; email: string; roles: UserRoles; created?: DateValue; updated?: DateValue; modified?: DateValue; birthDate?: DateValue; language?: string; description?: string; shortDescription?: string; slug?: string; address?: PostalAddress; geo?: GeoCoordinates; geoPosition?: GeoPosition; tags?: string[]; links?: UserLinksBlock; profilImageUrl?: string; profilMediumImageUrl?: string; profilThumbImageUrl?: string; profilMarkerImageUrl?: string; profilBannerUrl?: string; profilRealBannerUrl?: string; preferences?: UserPreferences; socialNetwork?: SocialNetwork; fixe?: string; mobile?: string; url?: string; [key: string]: unknown; } export interface UserItemNormalized { id: string; _id: ObjectID; collection: "citoyens"; name: string; username: string; email: string; roles: UserRoles; created?: Date; updated?: Date; modified?: Date; birthDate?: Date; language?: string; description?: string; shortDescription?: string; slug?: string; address?: PostalAddress; geo?: GeoCoordinates; geoPosition?: GeoPosition; tags?: string[]; links?: UserLinksBlock; profilImageUrl?: string; profilMediumImageUrl?: string; profilThumbImageUrl?: string; profilMarkerImageUrl?: string; profilBannerUrl?: string; profilRealBannerUrl?: string; preferences?: UserPreferences; socialNetwork?: SocialNetwork; fixe?: string; mobile?: string; url?: string; [key: string]: unknown; } export {};