import type { SubscriptionProductVersion } from './SubscriptionProductVersion';
/**
 *
 * @export
 * @interface SubscriptionProductComponentGroup
 */
export interface SubscriptionProductComponentGroup {
    /**
     * The ID of the space this object belongs to.
     * @type {number}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly linkedSpaceId?: number;
    /**
     *
     * @type {SubscriptionProductVersion}
     * @memberof SubscriptionProductComponentGroup
     */
    productVersion?: SubscriptionProductVersion;
    /**
     * When listing component groups, they can be sorted by this number.
     * @type {number}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly sortOrder?: number;
    /**
     * The localized name of the component group that is displayed to the customer.
     * @type {{ [key: string]: string; }}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly name?: {
        [key: string]: string;
    };
    /**
     * Whether the component group is optional, i.e. the customer does not have to select any component.
     * @type {boolean}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly optional?: boolean;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly id?: number;
    /**
     * The version is used for optimistic locking and incremented whenever the object is updated.
     * @type {number}
     * @memberof SubscriptionProductComponentGroup
     */
    readonly version?: number;
}
/**
 * Check if a given object implements the SubscriptionProductComponentGroup interface.
 */
export declare function instanceOfSubscriptionProductComponentGroup(value: object): value is SubscriptionProductComponentGroup;
export declare function SubscriptionProductComponentGroupFromJSON(json: any): SubscriptionProductComponentGroup;
export declare function SubscriptionProductComponentGroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionProductComponentGroup;
export declare function SubscriptionProductComponentGroupToJSON(json: any): SubscriptionProductComponentGroup;
export declare function SubscriptionProductComponentGroupToJSONTyped(value?: Omit<SubscriptionProductComponentGroup, 'linkedSpaceId' | 'sortOrder' | 'name' | 'optional' | 'id' | 'version'> | null, ignoreDiscriminator?: boolean): any;
