import Client from "../client"; import { GetUserAvatar, GetUserCurrentlyWearing, GetUserOutfits, GetUserOutfitsOptions } from "../client/apis/AvatarAPI"; import { DeleteBadgeFromUser, GetUserBadges, GetUserBadgesOptions } from "../client/apis/BadgesAPI"; import { CursorPage } from "./Asset"; import { GetUserBundles, GetUserBundlesByType, GetUserBundlesOptions } from "../client/apis/CatalogAPI"; import { AddUsersToConversation, RemoveUserFromConversation, StartOneToOneConversation } from "../client/apis/ChatAPI"; import { GetUsersTags, SetPendingUserTag, SetUserTag } from "../client/apis/ContactsAPI"; import { RemoveUserFromUniverseTeamCreate } from "../client/apis/DevelopAPI"; import { GetUserResellableAssetCopies } from "../client/apis/EconomyAPI"; import { AcceptFriendRequest, DeclineFriendRequest, FollowUser, GetUserFollowers, GetUserFollowersOptions, GetUserFollowing, GetUserFollowingOptions, GetUserFriendsWithStatuses, SendFriendRequest, UnFollowUser, UnfriendUser } from "../client/apis/FriendsAPI"; import { GetJoinRequest, GetUserGroups, GetUserPrimaryGroup, PayoutMembersOptions } from "../client/apis/GroupsAPI"; import { GetUserCollectibles, GetUserCollectiblesOptions, GetUserInventory, GetUserInventoryByAssetTypeId, GetUserInventoryByAssetTypeIdOptions, GetUserInventoryOptions, GetUserItemsByTypeAndTargetId, GetUserItemsByTypeAndTargetIdOptions } from "../client/apis/InventoryAPI"; import { PremiumUpsellCheck, PremiumUpsellCheckOptions, ValidateUserMembership } from "../client/apis/PremiumFeaturesAPI"; import { GetUsersPresences } from "../client/apis/PresenceAPI"; import { SendMessage, SendMessageOptions } from "../client/apis/PrivateMessagesAPI"; import { GetUsersAvatarBustImages, GetUsersAvatarBustImagesOptions, GetUsersAvatarHeadShotsImages, GetUsersAvatarHeadShotsImagesOptions, GetUsersFullBodyAvatarImages, GetUsersFullBodyAvatarImagesOptions } from "../client/apis/ThumbnailsAPI"; import { SendTrade, SendTradeOptions } from "../client/apis/TradesAPI"; import { UpdateUser, UpdateUserAccess } from "../client/apis/TranslationRolesAPI"; import { EnumUserPresence } from "../interfaces/GeneralInterfaces"; export interface UserBaseOptions { id: number; name?: string | null; displayName?: string; membership?: boolean; } export declare class UserBase { client: Client; id: number; name: string | null; displayName: string | null; membership: unknown; constructor(data: UserBaseOptions, client: Client); getStatus(): Promise; getAvatar(): Promise; getCurrentlyWearing(): Promise; getOutfits(options: Omit): Promise; getBadges(options?: Omit): Promise>; getBadgesAwardedDates(badges: number[]): Promise<{ id: number; awardedAt: Date; }[]>; deleteBadge(badgeId: number): Promise; getBundles(options?: Omit): Promise>; getBundlesByType(bundleType: string, options?: Omit): Promise>; addToChatConversation(conversationId: number): Promise; removeFromConversation(conversationId: number): Promise; startConversation(): Promise; getTag(): Promise; setPendingTag(tag: string): Promise; setTag(tag: string): Promise; removeFromTeamCreate(universeId: number): Promise; getResellableAssetCopies(assetId: number): Promise; getFollowers(options?: Omit): Promise>; getFollowersCount(): Promise; getFollowing(options?: Omit): Promise>; getFollowingCount(): Promise; getFriends(): Promise; getFriendsCount(): Promise; getFriendsWithStatuses(userIds: number[]): Promise; follow(): Promise; friend(source?: string): Promise; unFollow(): Promise; unfriend(): Promise; acceptFriendRequest(): Promise; declineFriendRequest(): Promise; canInviteToVIPServer(): Promise; awardBadge(badgeId: number, placeId: number): Promise; isFollowedByUser(userId: number): Promise; getGroups(): Promise; ownsAsset(assetId: number): Promise; block(): Promise; unblock(): Promise; canManageAsset(assetId: number): Promise; acceptJoinRequestInGroup(groupId: number): Promise; declineJoinRequestInGroup(groupId: number): Promise; getJoinRequestInGroup(groupId: number): Promise; setGroupOwner(groupId: number): Promise; kickFromGroup(groupId: number): Promise; updateMemberInGroup(groupId: number, roleId: number): Promise; payoutUserFromGroup(options: { groupId: number; type: PayoutMembersOptions["type"]; amount: number; }): Promise; deleteGroupWallPosts(groupId: number): Promise; getPrimaryGroup(): Promise; getCollectibles(options?: Omit): Promise>; getItemsByTypeAndTargetId(itemType: GetUserItemsByTypeAndTargetIdOptions["itemType"], id: number): Promise>; getInventory(options: Omit): Promise>; getInventoryByAssetTypeId(options: Omit): Promise>; getUser(): Promise; getPremiumMembership(): Promise; upsellPremiumCheck(options: Omit): Promise; getPresence(): Promise; sendMessage(options: Omit): Promise; getFullBodyAvatarImage(options: Omit): Promise; getAvatarBustImage(options: Omit): Promise; getAvatarHeadShotImage(options: Omit): Promise; getCanTrade(): Promise; sendTrade(offers: Omit[]): Promise; updateTranslationGameAccess(options: Omit): Promise; } export interface FriendRequestOptions { description: string; created: string; isBanned: boolean; id: number; name: string; } export declare class FriendRequest { client: Client; user: PartialUser; isBanned: boolean; created: Date; description: string; constructor(data: FriendRequestOptions, client: Client); } export interface PartialUserOptions { id: number; name?: string; displayName?: string; } export declare class PartialUser extends UserBase { constructor(data: PartialUserOptions, client: Client); } export interface UserOptions { id: number; name: string; displayName: string; friendsCount: number; presenceType: EnumUserPresence; lastLocation: string | null; userStatus: string | null; userStatusDate: string | null; userPlaceId: number | null; followersCount: number; followingsCount: number; isVieweeBlocked: boolean; isViewerBlocked: boolean; areFriends: boolean; canFollow: boolean; canMessage: boolean; canFriend: boolean; canTrade: boolean; incomingFriendRequest: boolean; sentFriendRequest: boolean; canSeeFavorites: boolean; messagesDisabled: boolean; canSeeInventory: boolean; headShotImage: { final: boolean; url: string; retryUrl: string | null; userId: number; endpointType: "Avatar" | string; }; previousUsernames: string; } export declare class User extends PartialUser { friendsCount: number; presenceType: EnumUserPresence; lastLocation: string | null; status: string | null; statusDate: Date | null; placeId: number | null; followersCount: number; followingCount: number; /** * If the authenticated user has blocked the user */ isBlocked: boolean; /** * If the user has blocked the authenticated user */ hasBlocked: boolean; /** * If the authenticated user and the target user are friends */ areFriends: boolean; canFollow: boolean; canMessage: boolean; canFriend: boolean; /** * If the authenticated user has sent a friend request to this user */ sentFriendRequest: boolean; /** * If the target user has sent a friend request to the authenticated user */ incomingFriendRequest: boolean; messagesDisabled: boolean; canSeeFavorites: boolean; canTrade: boolean; canSeeInventory: boolean; previousNames: string[]; headshotImage: { final: boolean; url: string | null; retryUrl: string | null; userId: number; endpointType: "Avatar" | string; }; constructor(data: UserOptions, client: Client); }