import BaseAPI from "./BaseAPI"; import Client from "../Client"; import { AssetVersionOptions, ProductOptions } from "../../structures/Asset"; export declare type GetAssetVersionOptions = number; export declare type AwardBadgeOptions = { userId: number; badgeId: number; placeId: number; }; export declare type GetUserFriendsOptions = { userId: number; page: number; }; export declare type AcceptFriendRequestOptions = { userId: number; }; export declare type DeclineFriendRequestOptions = { userId: number; }; export declare type SendFriendRequestOptions = { userId: number; }; export declare type GetUserFriendsCountOptions = { userId: number; }; export declare type UnfriendUserOptions = { userId: number; }; export declare type IsUserFollowingOptions = { userId: number; followUserId: number; }; export declare type FollowUserOptions = { userId: number; }; export declare type UnfollowUserOptions = { userId: number; }; export declare type GetUserGroupsOptions = { userId: number; }; export declare type GetGroupOptions = { groupId: number; }; export declare type GetGroupAlliesOptions = { groupId: number; page: number; }; export declare type GetGroupEnemiesOptions = { groupId: number; page: number; }; export declare type GetProductInfoOptions = { assetId: number; }; export declare type GetGamePassProductInfoOptions = { gamePassId: number; }; export declare type UserOwnsAssetOptions = { userId: number; assetId: number; }; export declare type BlockUserOptions = { userId: number; }; export declare type UnblockUserOptions = { userId: number; }; export declare type GetUserByUsernameOptions = { username: string; }; export declare type UserCanManageAssetOptions = { userId: number; assetId: number; }; export declare type GetUserByIdOptions = { userId: number; }; export declare type GetAssetVersions = AssetVersionOptions[]; export declare type AwardBadge = boolean; export declare type GetBalance = { robux: number; }; export declare type GetUserFriends = { Id: number; Username: string; AvatarUri: string; AvatarFinal: boolean; IsOnline: boolean; }[]; export declare type AcceptFriendRequest = boolean; export declare type DeclineFriendRequest = boolean; export declare type SendFriendRequest = boolean; export declare type GetUserFriendsCount = { count: number; }; export declare type UnfriendUser = boolean; export declare type IsUserFollowing = boolean; export declare type FollowUser = boolean; export declare type UnfollowUser = boolean; export declare type GetUserGroups = { id: number; name: string; emblemId: number | null; emblemUrl: string | null; role: { rank: number; name: string; }; inClan: boolean; primary: boolean; }[]; export declare type GetGroup = { Name: string; Id: number; Owner: { Name: string; Id: number; }; EmblemUrl: string; Description: string; Roles: { Name: string; Rank: number; }[]; }; export declare type GetGroupAllies = { Groups: GetGroup[]; FinalPage: boolean; }; export declare type GetGroupEnemies = GetGroupAllies; export declare type GetIncomingItems = { unreadMessageCount: number; friendRequestsCount: number; }; export declare type GetProductInfo = ProductOptions; export declare type GetGamePassProductInfo = ProductOptions; export declare type UserOwnsAsset = boolean; export declare type GetDeviceInfo = { platformType: string; deviceType: string; operatingSystemType: string; }; export declare type BlockUser = boolean; export declare type UnblockUser = boolean; export declare type GetUserById = { id: number; name: string; }; export declare type GetUserByUsername = GetUserById; export declare type UserCanManageAsset = boolean; export default class GeneralAPI extends BaseAPI { constructor(client: Client); getAssetVersions(options: GetAssetVersionOptions): Promise; awardBadge(options: AwardBadgeOptions): Promise; getBalance(): Promise; getUserFriends(options: GetUserFriendsOptions): Promise; acceptFriendRequest(options: AcceptFriendRequestOptions): Promise; declineFriendRequest(options: DeclineFriendRequestOptions): Promise; sendFriendRequest(options: SendFriendRequestOptions): Promise; getUserFriendsCount(options: GetUserFriendsCountOptions): Promise; unfriendUser(options: UnfriendUserOptions): Promise; isUserFollowing(options: IsUserFollowingOptions): Promise; followUser(options: FollowUserOptions): Promise; unfollowUser(options: UnfollowUserOptions): Promise; getUserGroups(options: GetUserGroupsOptions): Promise; getGroup(options: GetGroupOptions): Promise; getGroupAllies(options: GetGroupAlliesOptions): Promise; getGroupEnemies(options: GetGroupEnemiesOptions): Promise; getIncomingItems(): Promise; getProductInfo(options: GetProductInfoOptions): Promise; getGamePassProductInfo(options: GetGamePassProductInfoOptions): Promise; userOwnsAsset(options: UserOwnsAssetOptions): Promise; getDeviceInfo(): Promise; blockUser(options: BlockUserOptions): Promise; unblockUser(options: UnblockUserOptions): Promise; getUserById(options: GetUserByIdOptions): Promise; getUserByUsername(options: GetUserByUsernameOptions): Promise; userCanManageAsset(options: UserCanManageAssetOptions): Promise; }