wallee
Version:
TypeScript/JavaScript client for wallee
85 lines (84 loc) • 2.95 kB
TypeScript
import type { SubscriptionProductComponent } from './SubscriptionProductComponent';
import type { PersistableCurrencyAmount } from './PersistableCurrencyAmount';
import type { ProductFeeType } from './ProductFeeType';
/**
*
* @export
* @interface ProductPeriodFee
*/
export interface ProductPeriodFee {
/**
* The amount charged to the customer for each billing cycle during the term of a subscription.
* @type {Set<PersistableCurrencyAmount>}
* @memberof ProductPeriodFee
*/
readonly periodFee?: Set<PersistableCurrencyAmount>;
/**
* The ID of the space this object belongs to.
* @type {number}
* @memberof ProductPeriodFee
*/
readonly linkedSpaceId?: number;
/**
*
* @type {SubscriptionProductComponent}
* @memberof ProductPeriodFee
*/
component?: SubscriptionProductComponent;
/**
* The number of subscription billing cycles that count as a trial phase and during which no fees are charged.
* @type {number}
* @memberof ProductPeriodFee
*/
readonly numberOfFreeTrialPeriods?: number;
/**
* The localized name of the fee that is displayed to the customer.
* @type {{ [key: string]: string; }}
* @memberof ProductPeriodFee
*/
readonly name?: {
[key: string]: string;
};
/**
* The localized description of the fee that is displayed to the customer.
* @type {{ [key: string]: string; }}
* @memberof ProductPeriodFee
*/
readonly description?: {
[key: string]: string;
};
/**
* A unique identifier for the object.
* @type {number}
* @memberof ProductPeriodFee
*/
readonly id?: number;
/**
*
* @type {ProductFeeType}
* @memberof ProductPeriodFee
*/
type?: ProductFeeType;
/**
* The version is used for optimistic locking and incremented whenever the object is updated.
* @type {number}
* @memberof ProductPeriodFee
*/
readonly version?: number;
/**
* The localized title that be used on ledger entries and invoices.
* @type {{ [key: string]: string; }}
* @memberof ProductPeriodFee
*/
readonly ledgerEntryTitle?: {
[key: string]: string;
};
}
/**
* Check if a given object implements the ProductPeriodFee interface.
*/
export declare function instanceOfProductPeriodFee(value: object): value is ProductPeriodFee;
export declare function ProductPeriodFeeFromJSON(json: any): ProductPeriodFee;
export declare function ProductPeriodFeeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductPeriodFee;
export declare function ProductPeriodFeeToJSON(json: any): ProductPeriodFee;
export declare function ProductPeriodFeeToJSONTyped(value?: Omit<ProductPeriodFee, 'periodFee' | 'linkedSpaceId' | 'numberOfFreeTrialPeriods' | 'name' | 'description' | 'id' | 'version' | 'ledgerEntryTitle'> | null, ignoreDiscriminator?: boolean): any;