import { GetSubscriptionOptionRequest as GetSubscriptionOptionRequest$1, GetSubscriptionOptionResponse as GetSubscriptionOptionResponse$1, GetSubscriptionOptionsForProductRequest as GetSubscriptionOptionsForProductRequest$1, GetSubscriptionOptionsForProductResponse as GetSubscriptionOptionsForProductResponse$1, GetProductIdsForSubscriptionOptionRequest as GetProductIdsForSubscriptionOptionRequest$1, GetProductIdsForSubscriptionOptionResponse as GetProductIdsForSubscriptionOptionResponse$1, GetOneTimePurchasesStatusRequest as GetOneTimePurchasesStatusRequest$1, GetOneTimePurchasesStatusResponse as GetOneTimePurchasesStatusResponse$1, CreateSubscriptionOptionRequest as CreateSubscriptionOptionRequest$1, CreateSubscriptionOptionResponse as CreateSubscriptionOptionResponse$1, UpdateSubscriptionOptionRequest as UpdateSubscriptionOptionRequest$1, UpdateSubscriptionOptionResponse as UpdateSubscriptionOptionResponse$1, DeleteSubscriptionOptionRequest as DeleteSubscriptionOptionRequest$1, DeleteSubscriptionOptionResponse as DeleteSubscriptionOptionResponse$1, BulkCreateSubscriptionOptionsRequest as BulkCreateSubscriptionOptionsRequest$1, BulkCreateSubscriptionOptionsResponse as BulkCreateSubscriptionOptionsResponse$1, BulkUpdateSubscriptionOptionsRequest as BulkUpdateSubscriptionOptionsRequest$1, BulkUpdateSubscriptionOptionsResponse as BulkUpdateSubscriptionOptionsResponse$1, BulkDeleteSubscriptionOptionsRequest as BulkDeleteSubscriptionOptionsRequest$1, BulkDeleteSubscriptionOptionsResponse as BulkDeleteSubscriptionOptionsResponse$1, AssignSubscriptionOptionsToProductRequest as AssignSubscriptionOptionsToProductRequest$1, AssignSubscriptionOptionsToProductResponse as AssignSubscriptionOptionsToProductResponse$1, AllowOneTimePurchasesRequest as AllowOneTimePurchasesRequest$1, AllowOneTimePurchasesResponse as AllowOneTimePurchasesResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; interface SubscriptionOption { /** * Subscription option ID (auto-generated upon subscription option creation). * @format GUID */ id?: string | null; /** * Subscription option title. * @minLength 1 * @maxLength 20 */ title?: string | null; /** * Subscription option description (optional). * @maxLength 60 */ description?: string | null; /** Subscription charge times. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. */ subscriptionSettings?: SubscriptionSettings; /** * Discount info (optional). * For example, a $20 discount would be `value: 20`, `type: AMOUNT`. */ discount?: Discount; } interface SubscriptionSettings { /** Frequency of recurring payment. */ frequency?: SubscriptionFrequencyWithLiterals; /** Whether subscription is renewed automatically at the end of each period. */ autoRenewal?: boolean; /** * Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. * @min 2 * @max 999 */ billingCycles?: number | null; } /** Frequency unit of recurring payment */ declare enum SubscriptionFrequency { UNDEFINED = "UNDEFINED", DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", YEAR = "YEAR" } /** @enumType */ type SubscriptionFrequencyWithLiterals = SubscriptionFrequency | 'UNDEFINED' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'; interface Discount { /** Discount type. */ type?: DiscountTypeWithLiterals; /** Discount value. */ value?: number; } declare enum DiscountType { UNDEFINED = "UNDEFINED", /** No discount */ AMOUNT = "AMOUNT", PERCENT = "PERCENT" } /** @enumType */ type DiscountTypeWithLiterals = DiscountType | 'UNDEFINED' | 'AMOUNT' | 'PERCENT'; interface GetSubscriptionOptionRequest { /** * Subscription option ID. * @minLength 1 * @format GUID */ id: string; } interface GetSubscriptionOptionResponse { /** Subscription option. */ subscriptionOption?: SubscriptionOption; } interface GetSubscriptionOptionsForProductRequest { /** * Product ID. * @minLength 1 */ productId: string; /** Whether to include hidden subscription options in the results. */ includeHiddenSubscriptionOptions?: boolean; } interface GetSubscriptionOptionsForProductResponse { /** Subscription options. */ subscriptionOptions?: SubscriptionOptionInProduct[]; } interface SubscriptionOptionInProduct { /** * Subscription option ID. * @format GUID */ id?: string; /** Whether the subscription option is hidden for the product (the default is false). */ hidden?: boolean; /** * Subscription option title. * @minLength 1 * @maxLength 20 * @readonly */ title?: string | null; /** * Subscription option description (optional). * @maxLength 60 * @readonly */ description?: string | null; /** * Subscription payment settings. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. * @readonly */ subscriptionSettings?: SubscriptionSettings; /** * Discount info (optional). * @readonly */ discount?: Discount; } interface ListSubscriptionOptionsRequest { /** * Subscription option IDs. * @format GUID * @maxSize 100 */ ids?: string[]; } interface ListSubscriptionOptionsResponse { /** Subscription options. */ subscriptionOptions?: SubscriptionOption[]; } interface CalculatePricesRequest { /** original price to which subscription options discount will be applied */ price?: number; /** * ids of subscription options which will be applied to original price * @format GUID * @maxSize 100 */ ids?: string[]; } interface CalculatePricesResponse { /** array of calculated prices */ prices?: SubscriptionOptionPrices[]; /** price to which subscription options discount applied */ originalPrice?: number; } interface SubscriptionOptionPrices { /** Subscription option id */ id?: string; /** Price data calculated for subscription option */ priceData?: SubscriptionOptionPriceData; /** Price data calculated for subscription option, converted to the currency requested in request header */ convertedPriceData?: SubscriptionOptionPriceData; } interface SubscriptionOptionPriceData { /** Subscription option price currency */ currency?: string; /** Price calculated after subscription option discount applied */ discountedPrice?: number; /** Price calculated after subscription option discount applied, formatted with the currency */ formattedDiscountedPrice?: string; } interface BulkCalculatePricesRequest { /** * Original prices to which subscription options discount will be applied. * Key is identifier unique per price that can be used to match calculated prices with original price * @maxSize 1001 */ prices?: Record; /** * ids of subscription options which will be applied to original price * @format GUID * @maxSize 100 */ ids?: string[]; } interface BulkCalculatePricesResponse { /** * Key is identifier unique per price that can be used to match calculated prices with original price * Value is response with calculated prices for each subscription option */ calculatedPrices?: Record; } interface BulkCalculatePricesRequestV2 { /** * Original prices to be calculated for each corresponding product id with related subscription plan ids * @maxSize 100 */ items?: BulkCalculatePricesRequestItem[]; } interface BulkCalculatePricesRequestItem { /** * Calculation id (product id) * @minLength 1 * @maxLength 36 */ id?: string; /** * Original prices to which subscription options discount will be applied. * Key is identifier unique per price that can be used to match calculated prices with original price * @maxSize 1001 */ prices?: Record; /** * ids of subscription options which will be applied to original price. * @format GUID * @maxSize 100 */ subscriptionOptionIds?: string[]; } interface BulkCalculatePricesResponseV2 { /** * Key is identifier unique per price that can be used to match calculated prices with original price * Value is response with calculated prices for each subscription option for each product */ calculatedPricesPerProduct?: BulkCalculatePricesResponseItem[]; } interface BulkCalculatePricesResponseItem { /** * Calculation id (product id) * @minLength 1 */ id?: string; /** * Key is identifier unique per price that can be used to match calculated prices with original price * Value is response with calculated prices for each subscription option */ calculatedPrices?: Record; } interface GetProductIdsForSubscriptionOptionRequest { /** * Subscription option ID. * @minLength 1 * @format GUID */ id: string; /** Whether to include hidden products in the returned results. */ includeHiddenProducts?: boolean; /** Optional pagination parameters */ paging?: Paging; } interface Paging { /** * Amount of items to load per page. * @max 100 */ limit?: number | null; /** Number of items to skip in the display (relevant for all pages after the first). */ offset?: number | null; } interface GetProductIdsForSubscriptionOptionResponse { /** IDs of products associated with the specified subscription option. */ productIds?: string[]; /** Paging metadata. */ metadata?: PagingMetadata; /** Number of total results. */ totalResults?: number; } interface PagingMetadata { /** Amount of items to load per page. */ items?: number; /** Number of items to skip in the display (relevant for all pages after the first). */ offset?: number; } interface GetOneTimePurchasesStatusRequest { /** * Product ID. * @minLength 1 */ productId: string; } interface GetOneTimePurchasesStatusResponse { /** Whether the specified product is available for one-time purchase */ allowed?: boolean; } interface CreateSubscriptionOptionRequest { /** Subscription option info. */ subscriptionOption: SubscriptionOption; } interface CreateSubscriptionOptionResponse { /** Newly created subscription option. */ subscriptionOption?: SubscriptionOption; } interface UpdateSubscriptionOptionRequest { /** Subscription option info. Only the passed parameters will be updated. */ subscriptionOption: SubscriptionOption; } interface UpdateSubscriptionOptionResponse { /** Updated subscription option. */ subscriptionOption?: SubscriptionOption; } interface DeleteSubscriptionOptionRequest { /** * ID of the subscription option to delete. * @minLength 1 * @format GUID */ id: string; } interface DeleteSubscriptionOptionResponse { } interface BulkCreateSubscriptionOptionsRequest { /** * Subscription options info. * @maxSize 100 */ subscriptionOptions: SubscriptionOption[]; } interface BulkCreateSubscriptionOptionsResponse { /** Newly created subscription options. */ subscriptionOptions?: SubscriptionOption[]; } interface BulkUpdateSubscriptionOptionsRequest { /** * Subscription options info. Only the passed parameters in each subscription option will be updated. * @maxSize 100 */ subscriptionOptions: SubscriptionOption[]; } interface BulkUpdateSubscriptionOptionsResponse { /** Updated subscription options. */ subscriptionOptions?: SubscriptionOption[]; } interface BulkDeleteSubscriptionOptionsRequest { /** * IDs of the subscription options to delete. * @maxSize 100 * @format GUID */ ids: string[]; } interface BulkDeleteSubscriptionOptionsResponse { } interface AssignSubscriptionOptionsToProductRequest { /** * Product ID. * @minLength 1 */ productId: string; /** * Ordered array of subscription options that will be assigned to the product. Pass an empty array to remove all subscription options from the product. * @maxSize 6 */ assignedSubscriptionOptions?: SubscriptionOptionInProduct[]; } interface AssignSubscriptionOptionsToProductResponse { } interface AllowOneTimePurchasesRequest { /** * Product ID. * @minLength 1 */ productId: string; /** Pass `true` to offer product by subscription and as one-time purchase. Pass `false` to offer product as subscription only. */ allowed: boolean | null; } interface AllowOneTimePurchasesResponse { } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getSubscriptionOption(): __PublicMethodMetaInfo<'GET', { id: string; }, GetSubscriptionOptionRequest$1, GetSubscriptionOptionRequest, GetSubscriptionOptionResponse$1, GetSubscriptionOptionResponse>; declare function getSubscriptionOptionsForProduct(): __PublicMethodMetaInfo<'GET', { productId: string; }, GetSubscriptionOptionsForProductRequest$1, GetSubscriptionOptionsForProductRequest, GetSubscriptionOptionsForProductResponse$1, GetSubscriptionOptionsForProductResponse>; declare function getProductIdsForSubscriptionOption(): __PublicMethodMetaInfo<'GET', { id: string; }, GetProductIdsForSubscriptionOptionRequest$1, GetProductIdsForSubscriptionOptionRequest, GetProductIdsForSubscriptionOptionResponse$1, GetProductIdsForSubscriptionOptionResponse>; declare function getOneTimePurchasesStatus(): __PublicMethodMetaInfo<'GET', { productId: string; }, GetOneTimePurchasesStatusRequest$1, GetOneTimePurchasesStatusRequest, GetOneTimePurchasesStatusResponse$1, GetOneTimePurchasesStatusResponse>; declare function createSubscriptionOption(): __PublicMethodMetaInfo<'POST', {}, CreateSubscriptionOptionRequest$1, CreateSubscriptionOptionRequest, CreateSubscriptionOptionResponse$1, CreateSubscriptionOptionResponse>; declare function updateSubscriptionOption(): __PublicMethodMetaInfo<'PATCH', { subscriptionOptionId: string; }, UpdateSubscriptionOptionRequest$1, UpdateSubscriptionOptionRequest, UpdateSubscriptionOptionResponse$1, UpdateSubscriptionOptionResponse>; declare function deleteSubscriptionOption(): __PublicMethodMetaInfo<'DELETE', { id: string; }, DeleteSubscriptionOptionRequest$1, DeleteSubscriptionOptionRequest, DeleteSubscriptionOptionResponse$1, DeleteSubscriptionOptionResponse>; declare function bulkCreateSubscriptionOptions(): __PublicMethodMetaInfo<'POST', {}, BulkCreateSubscriptionOptionsRequest$1, BulkCreateSubscriptionOptionsRequest, BulkCreateSubscriptionOptionsResponse$1, BulkCreateSubscriptionOptionsResponse>; declare function bulkUpdateSubscriptionOptions(): __PublicMethodMetaInfo<'PATCH', {}, BulkUpdateSubscriptionOptionsRequest$1, BulkUpdateSubscriptionOptionsRequest, BulkUpdateSubscriptionOptionsResponse$1, BulkUpdateSubscriptionOptionsResponse>; declare function bulkDeleteSubscriptionOptions(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteSubscriptionOptionsRequest$1, BulkDeleteSubscriptionOptionsRequest, BulkDeleteSubscriptionOptionsResponse$1, BulkDeleteSubscriptionOptionsResponse>; declare function assignSubscriptionOptionsToProduct(): __PublicMethodMetaInfo<'POST', { productId: string; }, AssignSubscriptionOptionsToProductRequest$1, AssignSubscriptionOptionsToProductRequest, AssignSubscriptionOptionsToProductResponse$1, AssignSubscriptionOptionsToProductResponse>; declare function allowOneTimePurchases(): __PublicMethodMetaInfo<'PATCH', { productId: string; }, AllowOneTimePurchasesRequest$1, AllowOneTimePurchasesRequest, AllowOneTimePurchasesResponse$1, AllowOneTimePurchasesResponse>; export { type AllowOneTimePurchasesRequest as AllowOneTimePurchasesRequestOriginal, type AllowOneTimePurchasesResponse as AllowOneTimePurchasesResponseOriginal, type AssignSubscriptionOptionsToProductRequest as AssignSubscriptionOptionsToProductRequestOriginal, type AssignSubscriptionOptionsToProductResponse as AssignSubscriptionOptionsToProductResponseOriginal, type BulkCalculatePricesRequestItem as BulkCalculatePricesRequestItemOriginal, type BulkCalculatePricesRequest as BulkCalculatePricesRequestOriginal, type BulkCalculatePricesRequestV2 as BulkCalculatePricesRequestV2Original, type BulkCalculatePricesResponseItem as BulkCalculatePricesResponseItemOriginal, type BulkCalculatePricesResponse as BulkCalculatePricesResponseOriginal, type BulkCalculatePricesResponseV2 as BulkCalculatePricesResponseV2Original, type BulkCreateSubscriptionOptionsRequest as BulkCreateSubscriptionOptionsRequestOriginal, type BulkCreateSubscriptionOptionsResponse as BulkCreateSubscriptionOptionsResponseOriginal, type BulkDeleteSubscriptionOptionsRequest as BulkDeleteSubscriptionOptionsRequestOriginal, type BulkDeleteSubscriptionOptionsResponse as BulkDeleteSubscriptionOptionsResponseOriginal, type BulkUpdateSubscriptionOptionsRequest as BulkUpdateSubscriptionOptionsRequestOriginal, type BulkUpdateSubscriptionOptionsResponse as BulkUpdateSubscriptionOptionsResponseOriginal, type CalculatePricesRequest as CalculatePricesRequestOriginal, type CalculatePricesResponse as CalculatePricesResponseOriginal, type CreateSubscriptionOptionRequest as CreateSubscriptionOptionRequestOriginal, type CreateSubscriptionOptionResponse as CreateSubscriptionOptionResponseOriginal, type DeleteSubscriptionOptionRequest as DeleteSubscriptionOptionRequestOriginal, type DeleteSubscriptionOptionResponse as DeleteSubscriptionOptionResponseOriginal, type Discount as DiscountOriginal, DiscountType as DiscountTypeOriginal, type DiscountTypeWithLiterals as DiscountTypeWithLiteralsOriginal, type GetOneTimePurchasesStatusRequest as GetOneTimePurchasesStatusRequestOriginal, type GetOneTimePurchasesStatusResponse as GetOneTimePurchasesStatusResponseOriginal, type GetProductIdsForSubscriptionOptionRequest as GetProductIdsForSubscriptionOptionRequestOriginal, type GetProductIdsForSubscriptionOptionResponse as GetProductIdsForSubscriptionOptionResponseOriginal, type GetSubscriptionOptionRequest as GetSubscriptionOptionRequestOriginal, type GetSubscriptionOptionResponse as GetSubscriptionOptionResponseOriginal, type GetSubscriptionOptionsForProductRequest as GetSubscriptionOptionsForProductRequestOriginal, type GetSubscriptionOptionsForProductResponse as GetSubscriptionOptionsForProductResponseOriginal, type ListSubscriptionOptionsRequest as ListSubscriptionOptionsRequestOriginal, type ListSubscriptionOptionsResponse as ListSubscriptionOptionsResponseOriginal, type PagingMetadata as PagingMetadataOriginal, type Paging as PagingOriginal, SubscriptionFrequency as SubscriptionFrequencyOriginal, type SubscriptionFrequencyWithLiterals as SubscriptionFrequencyWithLiteralsOriginal, type SubscriptionOptionInProduct as SubscriptionOptionInProductOriginal, type SubscriptionOption as SubscriptionOptionOriginal, type SubscriptionOptionPriceData as SubscriptionOptionPriceDataOriginal, type SubscriptionOptionPrices as SubscriptionOptionPricesOriginal, type SubscriptionSettings as SubscriptionSettingsOriginal, type UpdateSubscriptionOptionRequest as UpdateSubscriptionOptionRequestOriginal, type UpdateSubscriptionOptionResponse as UpdateSubscriptionOptionResponseOriginal, type __PublicMethodMetaInfo, allowOneTimePurchases, assignSubscriptionOptionsToProduct, bulkCreateSubscriptionOptions, bulkDeleteSubscriptionOptions, bulkUpdateSubscriptionOptions, createSubscriptionOption, deleteSubscriptionOption, getOneTimePurchasesStatus, getProductIdsForSubscriptionOption, getSubscriptionOption, getSubscriptionOptionsForProduct, updateSubscriptionOption };