     @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
     @objc public var subscriptionPeriod: SubscriptionPeriod? { fatalError() }
 
+    /// The object containing introductory price information for the product.
+    /// If you've set up introductory prices in App Store Connect, the introductory price property will be populated.
+    /// This property is `nil` if the product has no introductory price.
+    ///
+    /// Before displaying UI that offers the introductory price,
+    /// you must first determine if the user is eligible to receive it.
+    /// - Seealso: `Purchases.checkTrialOrIntroductoryPriceEligibility` to  determine eligibility.
     @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
     @objc public var introductoryPrice: PromotionalOffer? { fatalError() }
 
+    /// An array of subscription offers available for the auto-renewable subscription.
     @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
     @objc public var discounts: [PromotionalOffer] { fatalError() }
 }

    /// The price of this product using ``priceFormatter``.
    @objc public var localizedPriceString: String { fatalError() }

    @objc public var productIdentifier: String { fatalError() }
    @available(iOS 14.0, macOS 11.0, tvOS 14.0, watchOS 8.0, *)
    @objc public var isFamilyShareable: Bool { fatalError() }

    @available(iOS 12.0, macCatalyst 13.0, tvOS 12.0, macOS 10.14, watchOS 6.2, *)
    @objc public var subscriptionGroupIdentifier: String? { fatalError() }


        return hasher.finalize()
    }

    /// A description of the product.
    /// - Note: The description's language is determined by the storefront that the user's device is connected to,
    /// not the preferred language set on the device.
    @objc public var localizedDescription: String { fatalError() }

    /// The name of the product.
    /// - Note: The title's language is determined by the storefront that the user's device is connected to,
    /// not the preferred language set on the device.
    @objc public var localizedTitle: String { fatalError() }

    /// The decimal representation of the cost of the product, in local currency.
