/**
 * Octane API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { FeatureInputArgs } from './FeatureInputArgs';
import { PriceInputArgs } from './PriceInputArgs';
/**
 *
 * @export
 * @interface AddOnInputArgs
 */
export interface AddOnInputArgs {
    /**
     * This field indicates whether or not we should cut an invoice immediately upon attaching this add on to a price plan.
     * @type {boolean}
     * @memberof AddOnInputArgs
     */
    immediatelyCharge?: boolean;
    /**
     * DEPRECATED. Use price_scheme_type and prices instead.
     * @type {number}
     * @memberof AddOnInputArgs
     */
    price?: number;
    /**
     * Array of price tiers, each of which consists of `price` and `cap` key:value pairs
     * @type {Array<PriceInputArgs>}
     * @memberof AddOnInputArgs
     */
    prices?: Array<PriceInputArgs>;
    /**
     * The frequency at which to charge this add on. Currently the only values supported are price_frequency or 1.
     * @type {number}
     * @memberof AddOnInputArgs
     */
    chargeFrequency?: number;
    /**
     *
     * @type {number}
     * @memberof AddOnInputArgs
     */
    limit?: number;
    /**
     * Whether this add on can only be used & charged once.
     * @type {boolean}
     * @memberof AddOnInputArgs
     */
    singleUse?: boolean;
    /**
     *
     * @type {FeatureInputArgs}
     * @memberof AddOnInputArgs
     */
    feature: FeatureInputArgs;
    /**
     *
     * @type {boolean}
     * @memberof AddOnInputArgs
     */
    quantityEnabled?: boolean;
    /**
     * The frequency at which to price this add on.
     * @type {number}
     * @memberof AddOnInputArgs
     */
    priceFrequency?: number;
    /**
     * One of 'FLAT', 'TIERED'
     * @type {string}
     * @memberof AddOnInputArgs
     */
    priceSchemeType?: AddOnInputArgsPriceSchemeTypeEnum;
}
/**
* @export
* @enum {string}
*/
export declare enum AddOnInputArgsPriceSchemeTypeEnum {
    Flat = "FLAT",
    Tiered = "TIERED"
}
export declare function AddOnInputArgsFromJSON(json: any): AddOnInputArgs;
export declare function AddOnInputArgsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddOnInputArgs;
export declare function AddOnInputArgsToJSON(value?: AddOnInputArgs | null): any;
