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