type Limit = {
    Limits : 10|25|50|100;
}
type AvatarImageSize = {
    // Legal Avatar Image Sizes:
    Sizes : 30|48|60|75|100|110|140|150|250|352|420|720;
}
type AvatarHeadshotImageSize = {
    // Legal Avatar Headshot Image Sizes:
    Sizes :  48|60|75|100|110|140|150|250|352|420|720;
}
type HumanoidRigType = {
    // Legal humanoid rig types
    Rigs : "R6" | "R15"
}
type AssetType = {
    // Legal asset types: 
    AssetType : "Image"|" TShirt"|"Audio"|"   Mesh"|"   Lua"|"   Hat"|"   Place"|"   Model"|"   Shirt"|"   Pants"|"   Decal"|"   Head"|"   Face"|"   Gear"|"   Badge"|"   Animation"|"   Torso"|"   RightArm"|"   LeftArm"|"   LeftLeg"|"   RightLeg"|"   Package"|"   GamePass"|"   Plugin"|"   MeshPart"|"   HairAccessory"|"   FaceAccessory"|"   NeckAccessory"|"   ShoulderAccessory"|"   FrontAccessory"|"   BackAccessory"|"   WaistAccessory"|"   ClimbAnimation"|"   DeathAnimation"|"   FallAnimation"|"   IdleAnimation"|"   JumpAnimation"|"   RunAnimation"|"   SwimAnimation"|"   WalkAnimation"|"   PoseAnimation"|"   EarAccessory"|"EyeAccessory"|"EmoteAnimation"|"   Video"|"   TShirtAccessory"|"ShirtAccessory"|"PantsAccessory"|"JacketAccessory"|"SweaterAccessory"|"ShortsAccessory"|"LeftShoeAccessory"|"RightShoeAccessory"|"DressSkirtAccessory"
}
export class RobloxClient {
    // Properties
    UserId: number;
    Username: string;
    Robux: number;
    Avatar:string;
    BuildersClubMember:boolean;
    IsPremium:boolean;
    cookie:string;
    csrf:string;
    DisplayName:string;
    // Methods
    Initialize(cookie: any): Promise<RobloxClient>;
    IsValidCookie(cookiee: string): Promise<boolean>;
    GetCSRFToken(): Promise<string>;
    GetGameInfo(universeId: number): Promise<Object>;
    GetUniverseID(placeId: number): Promise<number>;
    GetIncomingAlerts(): Promise<Object>;
    GetAssetInfo(assetID: number): Promise<Object>;
    GetGamepassInfo(gamepassID: number): Promise<Object>;
    UserOwnsAsset(assetID: number, UserId: number): Promise<boolean>;
    GetDeviceInfo(): Promise<Object>;
    Block(UserId: number): Promise<void>;
    Unblock(UserId: number): Promise<void>;
    GetUserFromID(UserId: number): Promise<Object>;
    GetUserFromName(username: string): Promise<Object>;
    CanManageAsset(UserId: number, assetID: number): Promise<boolean>;
    GetUserPresence(UserId: number): Promise<Object>;
    FriendCount(UserId: number): Promise<number>;
    GetFriends(UserId: number): Promise<Array<Object>>;
    FollowerCount(UserId: number): Promise<number>;
    GetFollowers(UserId: number, limit?: Limit): Promise<Array<Object>>;
    FollowingCount(UserId: number): Promise<number>;
    GetFollowings(UserId: number, limit?: Limit): Promise<Array<Object>>;
    GetOnlineFriends(): Promise<Array<Object>>;
    DeclineAllPendingFriendRequests(): Promise<void>;
    AcceptFriendRequest(requesterId: number): Promise<void>;
    DeclineFriendRequest(requesterId: number): Promise<void>;
    Unfollow(UserId: number): Promise<void>;
    Unfriend(UserId: number): Promise<void>;
    IsFollowing(UserId: number): Promise<boolean>;
    GetGameMedia(universeId: number): Promise<Array<Object>>;
    GetGamesByGroup(groupId: number, limit?: Limit): Promise<Array<Object>>;
    GetFavouriteGames(UserId: number, limit?: Limit): Promise<Array<Object>>;
    GetGamesByUser(UserId: number, limit?: Limit): Promise<Array<Object>>;
    GetGameServerList(placeId: number, serverType: string, limit?: Limit): Promise<Array<Object>>;
    GetGameProductInfo(universeId: number): Promise<Object>;
    GetPlaceInfo(placeId: number): Promise<Object>;
    SearchGames(keyword: string, maxRows?: number): Promise<Array<Object>>;
    IsPlayable(universeId : number): Promise<boolean>;
    GetRecommendations(universeId : number, maxRows?: number): Promise<Array<Object>>;
    IsFavorited(universeId : number): Promise<boolean>;
    Favorite(universeId : number, bool: boolean): Promise<void>;
    GetFavoriteCount(universeId : number): Promise<number>;
    GetGamepasses(universeId : number, limit?: Limit): Promise<Array<Object>>;
    GetUserVoteStatus(universeId : number): Promise<boolean>;
    VoteGame(universeId : number, bool: boolean): Promise<void>;
    GetPrivateServer(privateServerId: number): Promise<Object>;
    CanBeInvitedToVIP(UserId: number): Promise<boolean>;
    GetVIPServer(vipserverId: number): Promise<Object>;
    UpdateVIPServer(vipserverId: number, name: string, newJoinCode: boolean, active: boolean): Promise<void>;
    PurchaseVIPServer(universeId : number, name: string, expectedPrice: number): Promise<void>;
    UpdateVIPSubscription(vipServerId: number, active: boolean, price: number): Promise<void>;
    UpdateUserStatus(UserId: number, newStatus: string): Promise<void>;
    GetUserStatus(UserId: number): Promise<string>;
    SearchUsers(keyword: string, limit?: Limit): Promise<Array<Object>>;
    GetUserUsernameHistory(UserId: number, limit?: Limit): Promise<Array<Object>>;
    GetAvatarImage(UserId: number, size: AvatarImageSize): Promise<string>;
    GetAvatarHeadshot(UserId: number, size: AvatarHeadshotImageSize, isCircular?: boolean): Promise<string>;
    GetOutfits(UserId: number): Promise<Array<Object>>;
    GetAvatarRules(): Promise<Object>;
    GetAvatarInfo(UserId: number): Promise<Object>;
    RemoveAssetFromAvatar(assetId: number): Promise<void>;
    WearAssetForAvatar(assetId: number): Promise<void>;
    RedrawThumbnail(): Promise<void>;
    SetAvatarRig(type: HumanoidRigType): Promise<void>;
    SetAvatarScales( height : number, width : number,{ head, depth, proportion, bodyType }: {
        head?: number;
        depth?: number;
        proportion?: number;
        bodyType?: HumanoidRigType;
    }): Promise<void>;
    GetResellers(assetId: number, limit?: Limit): Promise<Array<Object>>;
    GroupPayout(groupId: number, UserId: number, amount: number): Promise<void>;
    ClaimGroupOwnership(groupId: number): Promise<void>;
    ChangeGroupOwner(groupId: number, newOwnerUserId: number): Promise<void>;
    GetGroupInfo(groupId: number): Promise<Object>;
    GetGroupFunds(groupId: number): Promise<number>;
    CreateGroup({ name, description, publicGroup, buildersClubMembersOnly, icon }: {
        name: string;
        description: string;
        publicGroup: boolean;
        buildersClubMembersOnly: boolean;
        icon: File;
    }): Promise<void>;
    UpdateGroupDescription(groupId: number, description: string): Promise<void>;
    UpdateGroupStatus(groupId: number, status: string): Promise<void>;
    UpdateGroupIcon(groupId: number, newIcon: File): Promise<void>;
    SetRole(UserId: number, groupId: number, roleId: number): Promise<void>;
    GetRoles(groupId: number): Promise<Array<Object>>;
    GetSocialLinks(groupId: number): Promise<Array<Object>>;
    SearchGroups(keyword: any, limit?: Limit): Promise<Array<Object>>;
    SearchForGroup(groupName: any): Promise<Object>;
    SetPrimaryGroup(groupId: number): Promise<void>;
    GetUserInventory(UserId: number, assetTypes: AssetType[], limit?: Limit): Promise<Array<Object>>;
    GetCollectibles(UserId: number, assetType: AssetType, limit?: Limit): Promise<Array<Object>>;
    SendTrade(targetUserId: number, sendingOffer: {"userAssetIds":[]}, receivingOffer : {"userAssetIds":[]}): Promise<void>;
    CanTradeWith(UserId: number): Promise<boolean>;
    AcceptTrade(tradeId: number): Promise<void>;
    DeclineTrade(tradeId: number): Promise<void>;
    GetTradeInfo(tradeId: number): Promise<Object>;
    SendPrivateMessage(recipientId: number, subject: string, body: string): Promise<void>;
    SendChatMessage(coversationId: number, message: string): Promise<void>;
    CreateChatWithUser(participantUserId: number): Promise<Object>;
    CreateGroupChat(title: string, participantIds: Array<number>): Promise<void>;
    AddToGroupChat(conversationId: number, participantIds: Array<number>): Promise<void>;
    RemoveUserFromGroupChat(participantUserId: number, conversationId: number): Promise<void>;
    RenameGroupChat(conversationId: number, newTitle: string): Promise<void>;
    SetConversationUniverse(conversationId: number, universeId : number): Promise<void>;
    ResetConversationUniverse(conversationId: number): Promise<void>;
    GetPlacesFromUniverse(universeId : number, limit?: Limit): Promise<Array<Object>>;
    ActivateUniverse(universeId : number): Promise<void>;
    DectivateUniverse(universeId : number): Promise<void>;
    CreateDeveloperProduct(universeId : number, name: string, description: string, price: number, iconAssetId: number): Promise<Object>;
    UserOwnsGamepass(UserId: number, gamePassId: number): Promise<boolean>;
    GetBundleInfo(bundleId: number): Promise<Object>;
    PurchaseAsset(assetId: number): Promise<void>;
    GetGameSocialLinks(universeId : number): Promise<Array<Object>>;
}