import type { Identifier, ISODateTime, ObjectEither, ObjectPrettify, UnionPrettify } from "typeforge"; export type AssetResellerData = ObjectPrettify<{ userAssetId: Identifier; seller: { id: Identifier; type: "User" | "Group"; name: string; }; price: number; serialNumber: number; }>; export type AssetResaleData = { assetStock: number | null; sales: number; numberRemaining: number | null; recentAveragePrice: number; originalPrice: number | null; priceDataPoints: { value: number; date: ISODateTime; }[]; volumeDataPoints: { value: number; date: ISODateTime; }[]; }; export type RawAssetResellersData = { previousPageCursor: string | null; nextPageCursor: string | null; data: AssetResellerData[]; }; export type AuthedUserDevExCashOutInfoData = { hasCurrencyOperationError: boolean; currencyOperationErrorMessage: string; showOnlyExchangeRates: boolean; meetsMembershipRequirements: boolean; emailIsVerified: boolean; isImbursementBlacklistUser: boolean; canProceedToCashout: boolean; showProgressBar: boolean; percentRobux: number; minRobuxToCashOut: number; maxRobuxCanCashOut: number; lastImbursementStatus: string; lastImbursementSubmissionDate: ISODateTime | null; conversionPercent: number; }; export type GroupRevenueSummaryData = { recurringRobuxStipend: number; itemSaleRobux: number; purchasedRobux: number; tradeSystemRobux: number; pendingRobux: number; groupPayoutRobux: number; individualToGroupRobux: number; premiumPayouts: number; groupPremiumPayouts: number; adjustmentRobux: number; immersiveAdPayouts: number; subscriptionPayouts: number; subscriptionClawbacks: number; isShowImmersiveAdPayoutSummaryOnZeroEnabled: false; commissionRobux: number; publishingAdvanceRebates: number; }; export type RawUserGroupPayoutEligibilityData = { usersGroupPayoutEligibility: { [Key in UserId]: 'Undefined' | 'Eligible' | 'NotInGroup' | 'PayoutRestricted' | undefined; }; }; export type PrettifiedUserGroupPayoutEligibilityData = { [Key in UserId]: 'Undefined' | 'Eligible' | 'NotInGroup' | 'PayoutRestricted' | undefined; }; export type GroupTransactionType = UnionPrettify<"Sale" | "PublishingAdvanceRebates">; type GroupSaleTransaction = ObjectPrettify<{ id: Identifier; idHash: string; created: ISODateTime; isPending: boolean; agent: { id: Identifier; type: "User" | "Group"; name: string; }; details: { id: Identifier; name: string; } & ObjectEither<{ type: "DeveloperProduct" | "GamePass"; place: { placeId: Identifier; universeId: Identifier; name: string; }; }, { type: "Asset"; }> & { currency: { amount: number; type: "Robux"; }; purchaseToken: string | null; }; }>; export type RawGroupTransactionHistoryData = { previousPageCursor?: string | null; nextPageCursor?: string | null; data: Type extends "Sale" ? GroupSaleTransaction[] : any[]; }; export type PrettifiedGroupTransactionHistoryData = Type extends "Sale" ? GroupSaleTransaction[] : any[]; export type AuthedUserEconomyMetadataData = { isMarketPlaceEnabled: boolean; isItemsXchangeEnabled: boolean; isGroupSalesAmountTooltipEnabled: boolean; isTransactionsRecordsDownloadEnabled: boolean; transactionRecordsDownloadEarliestYearDiff: number; isCommissionRecordsDownloadEnabled: boolean; isGroupCommissionsPageEnabled: boolean; isPublishingAdvanceRebatePageEnabled: boolean; }; export {};