import type { BillingCycleModel } from './BillingCycleModel'; import type { TaxCalculation } from './TaxCalculation'; import type { SubscriptionProduct } from './SubscriptionProduct'; import type { SubscriptionProductVersionState } from './SubscriptionProductVersionState'; /** * * @export * @interface SubscriptionProductVersion */ export interface SubscriptionProductVersion { /** * The date and time when the product version was retired. * @type {Date} * @memberof SubscriptionProductVersion */ readonly retiringFinishedOn?: Date; /** * The three-letter codes (ISO 4217 format) of the currencies that the product version supports. * @type {Set} * @memberof SubscriptionProductVersion */ readonly enabledCurrencies?: Set; /** * * @type {SubscriptionProduct} * @memberof SubscriptionProductVersion */ product?: SubscriptionProduct; /** * The date and time when the product version's retirement was started. * @type {Date} * @memberof SubscriptionProductVersion */ readonly retiringStartedOn?: Date; /** * * @type {TaxCalculation} * @memberof SubscriptionProductVersion */ taxCalculation?: TaxCalculation; /** * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed. * @type {Date} * @memberof SubscriptionProductVersion */ readonly plannedPurgeDate?: Date; /** * The date and time when the product version was created. * @type {Date} * @memberof SubscriptionProductVersion */ readonly createdOn?: Date; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof SubscriptionProductVersion */ readonly version?: number; /** * The reference used to identify the product version. * @type {string} * @memberof SubscriptionProductVersion */ readonly reference?: string; /** * The ID of the space this object belongs to. * @type {number} * @memberof SubscriptionProductVersion */ readonly linkedSpaceId?: number; /** * The date and time when the product version was activated. * @type {Date} * @memberof SubscriptionProductVersion */ readonly activatedOn?: Date; /** * The recurring period of time, typically monthly or annually, for which a subscriber is charged. * @type {string} * @memberof SubscriptionProductVersion */ readonly billingCycle?: string; /** * The three-letter code (ISO 4217 format) of the product version's default currency. * @type {string} * @memberof SubscriptionProductVersion */ readonly defaultCurrency?: string; /** * The localized name of the product that is displayed to the customer. * @type {{ [key: string]: string; }} * @memberof SubscriptionProductVersion */ readonly name?: { [key: string]: string; }; /** * The minimum number of periods the subscription will run before it can be terminated. * @type {number} * @memberof SubscriptionProductVersion */ readonly minimalNumberOfPeriods?: number; /** * The date and time when the product version was made obsolete. * @type {Date} * @memberof SubscriptionProductVersion */ readonly obsoletedOn?: Date; /** * * @type {BillingCycleModel} * @memberof SubscriptionProductVersion */ billingCycleModel?: BillingCycleModel; /** * A comment that describes the product version and why it was created. It is not disclosed to the subscriber. * @type {string} * @memberof SubscriptionProductVersion */ readonly comment?: string; /** * A unique identifier for the object. * @type {number} * @memberof SubscriptionProductVersion */ readonly id?: number; /** * Whenever a new version of a product is created, the number is increased and assigned. * @type {number} * @memberof SubscriptionProductVersion */ readonly incrementNumber?: number; /** * * @type {SubscriptionProductVersionState} * @memberof SubscriptionProductVersion */ state?: SubscriptionProductVersionState; /** * The number of periods the subscription will keep running after its termination was requested. * @type {number} * @memberof SubscriptionProductVersion */ readonly numberOfNoticePeriods?: number; } /** * Check if a given object implements the SubscriptionProductVersion interface. */ export declare function instanceOfSubscriptionProductVersion(value: object): value is SubscriptionProductVersion; export declare function SubscriptionProductVersionFromJSON(json: any): SubscriptionProductVersion; export declare function SubscriptionProductVersionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionProductVersion; export declare function SubscriptionProductVersionToJSON(json: any): SubscriptionProductVersion; export declare function SubscriptionProductVersionToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;