import type { SubscriptionProductComponentReference } from './SubscriptionProductComponentReference'; import type { SubscriptionProductComponentGroup } from './SubscriptionProductComponentGroup'; import type { TaxClass } from './TaxClass'; /** * * @export * @interface SubscriptionProductComponent */ export interface SubscriptionProductComponent { /** * * @type {TaxClass} * @memberof SubscriptionProductComponent */ taxClass?: TaxClass; /** * The localized description of the component that is displayed to the customer. * @type {{ [key: string]: string; }} * @memberof SubscriptionProductComponent */ readonly description?: { [key: string]: string; }; /** * If switching from a component with a lower tier to a component with a higher one, this is considered an upgrade and a fee may be applied. * @type {number} * @memberof SubscriptionProductComponent */ readonly componentChangeWeight?: number; /** * A maximum of the defined quantity can be selected for this component. * @type {number} * @memberof SubscriptionProductComponent */ readonly maximalQuantity?: number; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof SubscriptionProductComponent */ readonly version?: number; /** * A minimum of the defined quantity must be selected for this component. * @type {number} * @memberof SubscriptionProductComponent */ readonly minimalQuantity?: number; /** * * @type {SubscriptionProductComponentReference} * @memberof SubscriptionProductComponent */ reference?: SubscriptionProductComponentReference; /** * The ID of the space this object belongs to. * @type {number} * @memberof SubscriptionProductComponent */ readonly linkedSpaceId?: number; /** * The quantity step determines the interval in which the quantity can be increased. * @type {number} * @memberof SubscriptionProductComponent */ readonly quantityStep?: number; /** * When listing components, they can be sorted by this number. * @type {number} * @memberof SubscriptionProductComponent */ readonly sortOrder?: number; /** * * @type {SubscriptionProductComponentGroup} * @memberof SubscriptionProductComponent */ componentGroup?: SubscriptionProductComponentGroup; /** * The localized name of the component that is displayed to the customer. * @type {{ [key: string]: string; }} * @memberof SubscriptionProductComponent */ readonly name?: { [key: string]: string; }; /** * A unique identifier for the object. * @type {number} * @memberof SubscriptionProductComponent */ readonly id?: number; /** * Whether this is the default component in its group and preselected. * @type {boolean} * @memberof SubscriptionProductComponent */ readonly defaultComponent?: boolean; } /** * Check if a given object implements the SubscriptionProductComponent interface. */ export declare function instanceOfSubscriptionProductComponent(value: object): value is SubscriptionProductComponent; export declare function SubscriptionProductComponentFromJSON(json: any): SubscriptionProductComponent; export declare function SubscriptionProductComponentFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionProductComponent; export declare function SubscriptionProductComponentToJSON(json: any): SubscriptionProductComponent; export declare function SubscriptionProductComponentToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;