import type { SubscriptionComponentReferenceConfiguration } from './SubscriptionComponentReferenceConfiguration';
/**
 *
 * @export
 * @interface SubscriptionUpdateRequest
 */
export interface SubscriptionUpdateRequest {
    /**
     * The configurations of the subscription's components.
     * @type {Set<SubscriptionComponentReferenceConfiguration>}
     * @memberof SubscriptionUpdateRequest
     */
    componentConfigurations?: Set<SubscriptionComponentReferenceConfiguration>;
    /**
     * The product to subscribe to.
     * @type {number}
     * @memberof SubscriptionUpdateRequest
     */
    product?: number;
    /**
     * The three-letter code (ISO 4217 format) of the currency used to invoice the customer. Must be one of the currencies supported by the product.
     * @type {string}
     * @memberof SubscriptionUpdateRequest
     */
    currency?: string;
    /**
     * Whether the subscriptions' termination periods should be respected.
     * @type {boolean}
     * @memberof SubscriptionUpdateRequest
     */
    respectTerminationPeriod?: boolean;
}
/**
 * Check if a given object implements the SubscriptionUpdateRequest interface.
 */
export declare function instanceOfSubscriptionUpdateRequest(value: object): value is SubscriptionUpdateRequest;
export declare function SubscriptionUpdateRequestFromJSON(json: any): SubscriptionUpdateRequest;
export declare function SubscriptionUpdateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionUpdateRequest;
export declare function SubscriptionUpdateRequestToJSON(json: any): SubscriptionUpdateRequest;
export declare function SubscriptionUpdateRequestToJSONTyped(value?: SubscriptionUpdateRequest | null, ignoreDiscriminator?: boolean): any;
