UNPKG

abowire

Version:

This is the official **Abowire Javascript SDK**, which makes it easy to connect to the Abowire **GraphQL API** and includes all the required dependencies you need.

1,208 lines 73.3 kB
import { CancelSubscriptionInput, CreateSubscriptionInput, DowngradeSubscriptionInput, GetSubscriptionQueryVariables, ListSubscriptionsQueryVariables, UpdateSubscriptionInput, UpgradeSubscriptionInput } from '../../gen/graphql'; import { AbowireGraphQLClient } from '../../graphql/graphql-client'; export declare class SubscriptionApi { private graphQL; constructor(graphQL: AbowireGraphQLClient); create(input: CreateSubscriptionInput): Promise<{ __typename?: "Subscription" | undefined; id: string; isActive: boolean; endReason?: import("../../gen/graphql").EndReason | null | undefined; startDate?: any; endDate?: any; freeTrialStartDate?: any; freeTrialEndDate?: any; renewalDate?: any; lastCancellationDate?: any; nextCharge?: number | null | undefined; createdAt?: any; metadata?: any; usage?: { __typename?: "SubscriptionUsage" | undefined; amount: number; unit: string; }[] | null | undefined; customer: { __typename?: "Customer" | undefined; id: string; name: string; currency?: any; locale?: string | null | undefined; metadata?: any; createdAt?: any; updatedAt?: any; billing?: { __typename?: "Billing" | undefined; companyName?: string | null | undefined; address: string; address2?: string | null | undefined; street?: string | null | undefined; streetNumber?: string | null | undefined; postalCode: string; city: string; countryCode: string; invoiceFormat?: import("../../gen/graphql").InvoiceFormat | null | undefined; metadata?: any; taxIds?: { __typename?: "TaxId" | undefined; type: import("../../gen/graphql").TaxIdType; countryCode?: string | null | undefined; value: string; }[] | null | undefined; contactPerson?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; phoneNumber?: string | null | undefined; } | null | undefined; } | null | undefined; people?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; metadata?: any; settings?: { __typename?: "PersonSettings" | undefined; email?: { __typename?: "PersonEmailSettings" | undefined; invoices?: boolean | null | undefined; payments?: boolean | null | undefined; } | null | undefined; customerPortal?: { __typename?: "PersonCustomerPortalSettings" | undefined; isActive?: boolean | null | undefined; } | null | undefined; } | null | undefined; }[] | null | undefined; paymentMethod?: { __typename?: "PaymentMethod" | undefined; type: import("../../gen/graphql").PaymentMethodType; providerName?: import("../../gen/graphql").PaymentProviderName | null | undefined; lastDigits?: string | null | undefined; externalId?: string | null | undefined; metadata?: any; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; product: { __typename?: "Product" | undefined; id: string; name: string; sku: string; currency: any; taxRateCode?: import("../../gen/graphql").TaxRateCode | null | undefined; metadata?: any; createdAt?: any; isActive: boolean; plan: { __typename?: "Plan" | undefined; billingDay?: number | null | undefined; billingTerms?: import("../../gen/graphql").BillingTerms | null | undefined; recurrency: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; }; paymentTerms?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; cancellationNotice?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; freeTrial?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; }; pricing: { __typename?: "Pricing" | undefined; description?: string | null | undefined; type: import("../../gen/graphql").PricingType; price?: number | null | undefined; unit?: string | null | undefined; strategy: import("../../gen/graphql").PricingStrategy; chargeOnce?: boolean | null | undefined; tiers: { __typename?: "PricingTier" | undefined; from: number; to?: number | null | undefined; price: number; }[]; }[]; licensing?: { __typename?: "Licensing" | undefined; isActive?: boolean | null | undefined; maxActivations?: number | null | undefined; expirationDate?: any; codeStrategy: import("../../gen/graphql").LicensingCodeStrategy; codeLength?: number | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; amount?: number | null | undefined; } | null | undefined; } | null | undefined; subscriptions: { __typename?: "SubscriptionList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; }[]; }; addons: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canUpgradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canDowngradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; nextProduct?: { __typename?: "Product" | undefined; id: string; name: string; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; discountCoupon?: { __typename?: "DiscountCoupon" | undefined; id: string; code: string; redemptionDate?: any; periodsLeft?: number | null | undefined; subscription?: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; customer: { __typename?: "Customer" | undefined; id: string; name: string; }; } | null | undefined; discount: { __typename?: "Discount" | undefined; id: string; name: string; isActive?: boolean | null | undefined; }; } | null | undefined; }>; update(id: string, input: UpdateSubscriptionInput): Promise<{ __typename?: "Subscription" | undefined; id: string; isActive: boolean; endReason?: import("../../gen/graphql").EndReason | null | undefined; startDate?: any; endDate?: any; freeTrialStartDate?: any; freeTrialEndDate?: any; renewalDate?: any; lastCancellationDate?: any; nextCharge?: number | null | undefined; createdAt?: any; metadata?: any; usage?: { __typename?: "SubscriptionUsage" | undefined; amount: number; unit: string; }[] | null | undefined; customer: { __typename?: "Customer" | undefined; id: string; name: string; currency?: any; locale?: string | null | undefined; metadata?: any; createdAt?: any; updatedAt?: any; billing?: { __typename?: "Billing" | undefined; companyName?: string | null | undefined; address: string; address2?: string | null | undefined; street?: string | null | undefined; streetNumber?: string | null | undefined; postalCode: string; city: string; countryCode: string; invoiceFormat?: import("../../gen/graphql").InvoiceFormat | null | undefined; metadata?: any; taxIds?: { __typename?: "TaxId" | undefined; type: import("../../gen/graphql").TaxIdType; countryCode?: string | null | undefined; value: string; }[] | null | undefined; contactPerson?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; phoneNumber?: string | null | undefined; } | null | undefined; } | null | undefined; people?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; metadata?: any; settings?: { __typename?: "PersonSettings" | undefined; email?: { __typename?: "PersonEmailSettings" | undefined; invoices?: boolean | null | undefined; payments?: boolean | null | undefined; } | null | undefined; customerPortal?: { __typename?: "PersonCustomerPortalSettings" | undefined; isActive?: boolean | null | undefined; } | null | undefined; } | null | undefined; }[] | null | undefined; paymentMethod?: { __typename?: "PaymentMethod" | undefined; type: import("../../gen/graphql").PaymentMethodType; providerName?: import("../../gen/graphql").PaymentProviderName | null | undefined; lastDigits?: string | null | undefined; externalId?: string | null | undefined; metadata?: any; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; product: { __typename?: "Product" | undefined; id: string; name: string; sku: string; currency: any; taxRateCode?: import("../../gen/graphql").TaxRateCode | null | undefined; metadata?: any; createdAt?: any; isActive: boolean; plan: { __typename?: "Plan" | undefined; billingDay?: number | null | undefined; billingTerms?: import("../../gen/graphql").BillingTerms | null | undefined; recurrency: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; }; paymentTerms?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; cancellationNotice?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; freeTrial?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; }; pricing: { __typename?: "Pricing" | undefined; description?: string | null | undefined; type: import("../../gen/graphql").PricingType; price?: number | null | undefined; unit?: string | null | undefined; strategy: import("../../gen/graphql").PricingStrategy; chargeOnce?: boolean | null | undefined; tiers: { __typename?: "PricingTier" | undefined; from: number; to?: number | null | undefined; price: number; }[]; }[]; licensing?: { __typename?: "Licensing" | undefined; isActive?: boolean | null | undefined; maxActivations?: number | null | undefined; expirationDate?: any; codeStrategy: import("../../gen/graphql").LicensingCodeStrategy; codeLength?: number | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; amount?: number | null | undefined; } | null | undefined; } | null | undefined; subscriptions: { __typename?: "SubscriptionList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; }[]; }; addons: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canUpgradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canDowngradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; nextProduct?: { __typename?: "Product" | undefined; id: string; name: string; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; discountCoupon?: { __typename?: "DiscountCoupon" | undefined; id: string; code: string; redemptionDate?: any; periodsLeft?: number | null | undefined; subscription?: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; customer: { __typename?: "Customer" | undefined; id: string; name: string; }; } | null | undefined; discount: { __typename?: "Discount" | undefined; id: string; name: string; isActive?: boolean | null | undefined; }; } | null | undefined; }>; upgrade(id: string, input: UpgradeSubscriptionInput): Promise<{ __typename?: "Subscription" | undefined; id: string; isActive: boolean; endReason?: import("../../gen/graphql").EndReason | null | undefined; startDate?: any; endDate?: any; freeTrialStartDate?: any; freeTrialEndDate?: any; renewalDate?: any; lastCancellationDate?: any; nextCharge?: number | null | undefined; createdAt?: any; metadata?: any; usage?: { __typename?: "SubscriptionUsage" | undefined; amount: number; unit: string; }[] | null | undefined; customer: { __typename?: "Customer" | undefined; id: string; name: string; currency?: any; locale?: string | null | undefined; metadata?: any; createdAt?: any; updatedAt?: any; billing?: { __typename?: "Billing" | undefined; companyName?: string | null | undefined; address: string; address2?: string | null | undefined; street?: string | null | undefined; streetNumber?: string | null | undefined; postalCode: string; city: string; countryCode: string; invoiceFormat?: import("../../gen/graphql").InvoiceFormat | null | undefined; metadata?: any; taxIds?: { __typename?: "TaxId" | undefined; type: import("../../gen/graphql").TaxIdType; countryCode?: string | null | undefined; value: string; }[] | null | undefined; contactPerson?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; phoneNumber?: string | null | undefined; } | null | undefined; } | null | undefined; people?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; metadata?: any; settings?: { __typename?: "PersonSettings" | undefined; email?: { __typename?: "PersonEmailSettings" | undefined; invoices?: boolean | null | undefined; payments?: boolean | null | undefined; } | null | undefined; customerPortal?: { __typename?: "PersonCustomerPortalSettings" | undefined; isActive?: boolean | null | undefined; } | null | undefined; } | null | undefined; }[] | null | undefined; paymentMethod?: { __typename?: "PaymentMethod" | undefined; type: import("../../gen/graphql").PaymentMethodType; providerName?: import("../../gen/graphql").PaymentProviderName | null | undefined; lastDigits?: string | null | undefined; externalId?: string | null | undefined; metadata?: any; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; product: { __typename?: "Product" | undefined; id: string; name: string; sku: string; currency: any; taxRateCode?: import("../../gen/graphql").TaxRateCode | null | undefined; metadata?: any; createdAt?: any; isActive: boolean; plan: { __typename?: "Plan" | undefined; billingDay?: number | null | undefined; billingTerms?: import("../../gen/graphql").BillingTerms | null | undefined; recurrency: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; }; paymentTerms?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; cancellationNotice?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; freeTrial?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; }; pricing: { __typename?: "Pricing" | undefined; description?: string | null | undefined; type: import("../../gen/graphql").PricingType; price?: number | null | undefined; unit?: string | null | undefined; strategy: import("../../gen/graphql").PricingStrategy; chargeOnce?: boolean | null | undefined; tiers: { __typename?: "PricingTier" | undefined; from: number; to?: number | null | undefined; price: number; }[]; }[]; licensing?: { __typename?: "Licensing" | undefined; isActive?: boolean | null | undefined; maxActivations?: number | null | undefined; expirationDate?: any; codeStrategy: import("../../gen/graphql").LicensingCodeStrategy; codeLength?: number | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; amount?: number | null | undefined; } | null | undefined; } | null | undefined; subscriptions: { __typename?: "SubscriptionList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; }[]; }; addons: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canUpgradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canDowngradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; nextProduct?: { __typename?: "Product" | undefined; id: string; name: string; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; discountCoupon?: { __typename?: "DiscountCoupon" | undefined; id: string; code: string; redemptionDate?: any; periodsLeft?: number | null | undefined; subscription?: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; customer: { __typename?: "Customer" | undefined; id: string; name: string; }; } | null | undefined; discount: { __typename?: "Discount" | undefined; id: string; name: string; isActive?: boolean | null | undefined; }; } | null | undefined; }>; downgrade(id: string, input: DowngradeSubscriptionInput): Promise<{ __typename?: "Subscription" | undefined; id: string; isActive: boolean; endReason?: import("../../gen/graphql").EndReason | null | undefined; startDate?: any; endDate?: any; freeTrialStartDate?: any; freeTrialEndDate?: any; renewalDate?: any; lastCancellationDate?: any; nextCharge?: number | null | undefined; createdAt?: any; metadata?: any; usage?: { __typename?: "SubscriptionUsage" | undefined; amount: number; unit: string; }[] | null | undefined; customer: { __typename?: "Customer" | undefined; id: string; name: string; currency?: any; locale?: string | null | undefined; metadata?: any; createdAt?: any; updatedAt?: any; billing?: { __typename?: "Billing" | undefined; companyName?: string | null | undefined; address: string; address2?: string | null | undefined; street?: string | null | undefined; streetNumber?: string | null | undefined; postalCode: string; city: string; countryCode: string; invoiceFormat?: import("../../gen/graphql").InvoiceFormat | null | undefined; metadata?: any; taxIds?: { __typename?: "TaxId" | undefined; type: import("../../gen/graphql").TaxIdType; countryCode?: string | null | undefined; value: string; }[] | null | undefined; contactPerson?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; phoneNumber?: string | null | undefined; } | null | undefined; } | null | undefined; people?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; metadata?: any; settings?: { __typename?: "PersonSettings" | undefined; email?: { __typename?: "PersonEmailSettings" | undefined; invoices?: boolean | null | undefined; payments?: boolean | null | undefined; } | null | undefined; customerPortal?: { __typename?: "PersonCustomerPortalSettings" | undefined; isActive?: boolean | null | undefined; } | null | undefined; } | null | undefined; }[] | null | undefined; paymentMethod?: { __typename?: "PaymentMethod" | undefined; type: import("../../gen/graphql").PaymentMethodType; providerName?: import("../../gen/graphql").PaymentProviderName | null | undefined; lastDigits?: string | null | undefined; externalId?: string | null | undefined; metadata?: any; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; product: { __typename?: "Product" | undefined; id: string; name: string; sku: string; currency: any; taxRateCode?: import("../../gen/graphql").TaxRateCode | null | undefined; metadata?: any; createdAt?: any; isActive: boolean; plan: { __typename?: "Plan" | undefined; billingDay?: number | null | undefined; billingTerms?: import("../../gen/graphql").BillingTerms | null | undefined; recurrency: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; }; paymentTerms?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; cancellationNotice?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; freeTrial?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; }; pricing: { __typename?: "Pricing" | undefined; description?: string | null | undefined; type: import("../../gen/graphql").PricingType; price?: number | null | undefined; unit?: string | null | undefined; strategy: import("../../gen/graphql").PricingStrategy; chargeOnce?: boolean | null | undefined; tiers: { __typename?: "PricingTier" | undefined; from: number; to?: number | null | undefined; price: number; }[]; }[]; licensing?: { __typename?: "Licensing" | undefined; isActive?: boolean | null | undefined; maxActivations?: number | null | undefined; expirationDate?: any; codeStrategy: import("../../gen/graphql").LicensingCodeStrategy; codeLength?: number | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; amount?: number | null | undefined; } | null | undefined; } | null | undefined; subscriptions: { __typename?: "SubscriptionList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; }[]; }; addons: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canUpgradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canDowngradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; nextProduct?: { __typename?: "Product" | undefined; id: string; name: string; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; discountCoupon?: { __typename?: "DiscountCoupon" | undefined; id: string; code: string; redemptionDate?: any; periodsLeft?: number | null | undefined; subscription?: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; customer: { __typename?: "Customer" | undefined; id: string; name: string; }; } | null | undefined; discount: { __typename?: "Discount" | undefined; id: string; name: string; isActive?: boolean | null | undefined; }; } | null | undefined; }>; cancel(id: string, input: CancelSubscriptionInput): Promise<{ __typename?: "Subscription" | undefined; id: string; isActive: boolean; endReason?: import("../../gen/graphql").EndReason | null | undefined; startDate?: any; endDate?: any; freeTrialStartDate?: any; freeTrialEndDate?: any; renewalDate?: any; lastCancellationDate?: any; nextCharge?: number | null | undefined; createdAt?: any; metadata?: any; usage?: { __typename?: "SubscriptionUsage" | undefined; amount: number; unit: string; }[] | null | undefined; customer: { __typename?: "Customer" | undefined; id: string; name: string; currency?: any; locale?: string | null | undefined; metadata?: any; createdAt?: any; updatedAt?: any; billing?: { __typename?: "Billing" | undefined; companyName?: string | null | undefined; address: string; address2?: string | null | undefined; street?: string | null | undefined; streetNumber?: string | null | undefined; postalCode: string; city: string; countryCode: string; invoiceFormat?: import("../../gen/graphql").InvoiceFormat | null | undefined; metadata?: any; taxIds?: { __typename?: "TaxId" | undefined; type: import("../../gen/graphql").TaxIdType; countryCode?: string | null | undefined; value: string; }[] | null | undefined; contactPerson?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; phoneNumber?: string | null | undefined; } | null | undefined; } | null | undefined; people?: { __typename?: "Person" | undefined; firstName: string; lastName: string; email: string; metadata?: any; settings?: { __typename?: "PersonSettings" | undefined; email?: { __typename?: "PersonEmailSettings" | undefined; invoices?: boolean | null | undefined; payments?: boolean | null | undefined; } | null | undefined; customerPortal?: { __typename?: "PersonCustomerPortalSettings" | undefined; isActive?: boolean | null | undefined; } | null | undefined; } | null | undefined; }[] | null | undefined; paymentMethod?: { __typename?: "PaymentMethod" | undefined; type: import("../../gen/graphql").PaymentMethodType; providerName?: import("../../gen/graphql").PaymentProviderName | null | undefined; lastDigits?: string | null | undefined; externalId?: string | null | undefined; metadata?: any; } | null | undefined; capabilities?: { __typename?: "ProductCapability" | undefined; name: string; isActive: boolean; usageLimit?: ({ __typename?: "SubscriptionUsage" | undefined; unit: string; amount: number; } | null)[] | null | undefined; }[] | null | undefined; }; product: { __typename?: "Product" | undefined; id: string; name: string; sku: string; currency: any; taxRateCode?: import("../../gen/graphql").TaxRateCode | null | undefined; metadata?: any; createdAt?: any; isActive: boolean; plan: { __typename?: "Plan" | undefined; billingDay?: number | null | undefined; billingTerms?: import("../../gen/graphql").BillingTerms | null | undefined; recurrency: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; }; paymentTerms?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; cancellationNotice?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; freeTrial?: { __typename?: "Timeframe" | undefined; amount?: number | null | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; } | null | undefined; }; pricing: { __typename?: "Pricing" | undefined; description?: string | null | undefined; type: import("../../gen/graphql").PricingType; price?: number | null | undefined; unit?: string | null | undefined; strategy: import("../../gen/graphql").PricingStrategy; chargeOnce?: boolean | null | undefined; tiers: { __typename?: "PricingTier" | undefined; from: number; to?: number | null | undefined; price: number; }[]; }[]; licensing?: { __typename?: "Licensing" | undefined; isActive?: boolean | null | undefined; maxActivations?: number | null | undefined; expirationDate?: any; codeStrategy: import("../../gen/graphql").LicensingCodeStrategy; codeLength?: number | null | undefined; maxDuration?: { __typename?: "Timeframe" | undefined; unit?: import("../../gen/graphql").TimeUnit | null | undefined; amount?: number | null | undefined; } | null | undefined; } | null | undefined; subscriptions: { __typename?: "SubscriptionList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Subscription" | undefined; id: string; product: { __typename?: "Product" | undefined; name: string; }; }[]; }; addons: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canUpgradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __typename?: "Product" | undefined; id: string; name: string; }[]; }; canDowngradeTo: { __typename?: "ProductList" | undefined; count: number; total: number; cursor?: string | null | undefined; items: { __t