import type { SubscriptionProduct } from './SubscriptionProduct';
import type { SubscriptionProductVersion } from './SubscriptionProductVersion';
/**
 *
 * @export
 * @interface SubscriptionProductVersionRetirement
 */
export interface SubscriptionProductVersionRetirement {
    /**
     * The ID of the space this object belongs to.
     * @type {number}
     * @memberof SubscriptionProductVersionRetirement
     */
    readonly linkedSpaceId?: number;
    /**
     * Whether the subscriptions' termination periods should be respected.
     * @type {boolean}
     * @memberof SubscriptionProductVersionRetirement
     */
    readonly respectTerminationPeriods?: boolean;
    /**
     *
     * @type {SubscriptionProductVersion}
     * @memberof SubscriptionProductVersionRetirement
     */
    productVersion?: SubscriptionProductVersion;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof SubscriptionProductVersionRetirement
     */
    readonly id?: number;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof SubscriptionProductVersionRetirement
     */
    readonly createdOn?: Date;
    /**
     * The version is used for optimistic locking and incremented whenever the object is updated.
     * @type {number}
     * @memberof SubscriptionProductVersionRetirement
     */
    readonly version?: number;
    /**
     *
     * @type {SubscriptionProduct}
     * @memberof SubscriptionProductVersionRetirement
     */
    targetProduct?: SubscriptionProduct;
}
/**
 * Check if a given object implements the SubscriptionProductVersionRetirement interface.
 */
export declare function instanceOfSubscriptionProductVersionRetirement(value: object): value is SubscriptionProductVersionRetirement;
export declare function SubscriptionProductVersionRetirementFromJSON(json: any): SubscriptionProductVersionRetirement;
export declare function SubscriptionProductVersionRetirementFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionProductVersionRetirement;
export declare function SubscriptionProductVersionRetirementToJSON(json: any): SubscriptionProductVersionRetirement;
export declare function SubscriptionProductVersionRetirementToJSONTyped(value?: Omit<SubscriptionProductVersionRetirement, 'linkedSpaceId' | 'respectTerminationPeriods' | 'id' | 'createdOn' | 'version'> | null, ignoreDiscriminator?: boolean): any;
