export interface OfferResponse { id: string; name: string; type: string; pricing: Array; product: Product; displayName?: string; } export interface Pricing { charges: Array; country: string; currency: string; option: Option; total: Amount; trialTotal?: Amount; subscriptionTerm: string; } export interface Product { code: string; name: string; type: string; products: Array; } export interface Charges { amount: Amount; basis: string; billingFrequency: BillingFrequency; // paymentDue: PaymentDue; this is null in graph QL so have left out for now subscriptionTerm: SubscriptionTerm; } export interface Amount { currency: string; nativeSymbol: string; symbol: string; value: number; } interface BillingFrequency { displayName: string; iso8601Duration: string; unit: string; value: string; } interface SubscriptionTerm { displayName: string; iso8601Duration: string; paymentDueAfter: string; autoRenewTerm: Boolean; termType: string; } export interface FormattedPrice { subscriptionName: string; subscriptionCode: string; subscriptionPaymentDue: string; currency: string; symbol: string; value: string; option: Option | null; trialValue?: string; } interface Option { code: string; displayName: string; }