import type { ObjectPrettify, ObjectEither, Identifier, ISODateTime } from "typeforge"; type SubscriptionInfo_State = "STATE_UNSPECIFIED" | "SUBSCRIBED_WILL_RENEW" | "SUBSCRIBED_WILL_NOT_RENEW" | "SUBSCRIBED_RENEWAL_PAYMENT_PENDING" | "EXPIRED"; type SubscriptionInfo_ExpirationReason = "EXPIRATION_REASON_UNSPECIFIED" | "PRODUCT_INACTIVE" | "PRODUCT_DELETED" | "SUBSCRIBER_CANCELLED" | "SUBSCRIBER_REFUNDED" | "LAPSED"; type SubscriptionInfo_PurchasePlatform = "PURCHASE_PLATFORM_UNSPECIFIED" | "DESKTOP" | "MOBILE"; type SubscriptionInfo_PaymentProvider = "PAYMENT_PROVIDER_UNSPECIFIED" | "STRIPE" | "APPLE" | "GOOGLE" | "ROBLOX_CREDIT"; type SubscriptionInfoData = ObjectPrettify<{ path: `universes/${UniverseId}/subscription-products/${SubscriptionProductId}/subscriptions/${SubscriptionId}`; createTime?: TemporalType; updateTime?: TemporalType; lastBillingTime?: TemporalType; state: SubscriptionInfo_State; expirationDetails?: { reason: SubscriptionInfo_ExpirationReason; }; purchasePlatform: SubscriptionInfo_PurchasePlatform; paymentProvider: SubscriptionInfo_PaymentProvider; user?: `users/${SubscriptionId}`; } & ObjectEither<{ willRenew: true; nextRenewTime: TemporalType; }, { willRenew: false; }> & ObjectEither<{ active: true; expireTime: TemporalType; }, { active: false; }>>; export type RawSubscriptionInfoData = (SubscriptionInfoData); export type PrettifiedSubscriptionInfoData = (SubscriptionInfoData); export {};