import type { SubscriptionComponentReferenceConfiguration } from './SubscriptionComponentReferenceConfiguration';
import type { SubscriptionPending } from './SubscriptionPending';
/**
 *
 * @export
 * @interface SubscriptionCreateRequest
 */
export interface SubscriptionCreateRequest {
    /**
     * The configurations of the subscription's components.
     * @type {Set<SubscriptionComponentReferenceConfiguration>}
     * @memberof SubscriptionCreateRequest
     */
    componentConfigurations?: Set<SubscriptionComponentReferenceConfiguration>;
    /**
     * The product to subscribe to.
     * @type {number}
     * @memberof SubscriptionCreateRequest
     */
    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 SubscriptionCreateRequest
     */
    currency?: string;
    /**
     *
     * @type {SubscriptionPending}
     * @memberof SubscriptionCreateRequest
     */
    subscription?: SubscriptionPending;
}
/**
 * Check if a given object implements the SubscriptionCreateRequest interface.
 */
export declare function instanceOfSubscriptionCreateRequest(value: object): value is SubscriptionCreateRequest;
export declare function SubscriptionCreateRequestFromJSON(json: any): SubscriptionCreateRequest;
export declare function SubscriptionCreateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionCreateRequest;
export declare function SubscriptionCreateRequestToJSON(json: any): SubscriptionCreateRequest;
export declare function SubscriptionCreateRequestToJSONTyped(value?: SubscriptionCreateRequest | null, ignoreDiscriminator?: boolean): any;
