import type { IdentityCore, EntityStatus } from '@23blocks/contracts'; /** * Content user identity - represents a user in the content system */ export interface ContentUser extends IdentityCore { uniqueId: string; firstName?: string; lastName?: string; name?: string; email?: string; phone?: string; userUniqueId?: string; userName?: string; avatarUrl?: string; roleName?: string; roleUniqueId?: string; timeZone?: string; preferredLanguage?: string; stripeId?: string; walletCode?: string; emailNotifications?: boolean; smsNotifications?: boolean; whatsappNotifications?: boolean; otherNotifications?: boolean; status: EntityStatus; payload?: Record; bio?: string; postsCount?: number; commentsCount?: number; followersCount?: number; followingCount?: number; } /** * Following relationship between users */ export interface Following extends IdentityCore { uniqueId: string; userUniqueId: string; userName?: string; userAlias?: string; userAvatarUrl?: string; followerUniqueId: string; followerName?: string; followerAlias?: string; followerAvatarUrl?: string; followingSince?: Date; payload?: Record; } export interface RegisterContentUserRequest { email: string; name?: string; firstName?: string; lastName?: string; avatarUrl?: string; bio?: string; phone?: string; timeZone?: string; preferredLanguage?: string; payload?: Record; } export interface UpdateContentUserRequest { name?: string; firstName?: string; lastName?: string; avatarUrl?: string; bio?: string; phone?: string; timeZone?: string; preferredLanguage?: string; emailNotifications?: boolean; smsNotifications?: boolean; whatsappNotifications?: boolean; otherNotifications?: boolean; payload?: Record; } export interface ListContentUsersParams { page?: number; perPage?: number; status?: string; search?: string; } export interface UserActivity { uniqueId: string; activityType: string; targetType: string; targetUniqueId: string; description?: string; createdAt: Date; payload?: Record; } //# sourceMappingURL=user.d.ts.map