/**
 * 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 { AddOn } from './AddOn';
import { MeteredComponent } from './MeteredComponent';
/**
 *
 * @export
 * @interface Discount
 */
export interface Discount {
    /**
     *
     * @type {any}
     * @memberof Discount
     */
    readonly discountType?: any | null;
    /**
     *
     * @type {number}
     * @memberof Discount
     */
    amount?: number | null;
    /**
     * The date when the discount is applied from.
     * @type {Date}
     * @memberof Discount
     */
    startDate?: Date | null;
    /**
     * The date when the discount ends.
     * @type {Date}
     * @memberof Discount
     */
    endDate?: Date | null;
    /**
     * Offset in number of billing cycles for when this discount will apply. For example, if set to 1, the discount will apply from the start of the next billing cycle.
     * @type {number}
     * @memberof Discount
     */
    billingCycleStartOffset?: number;
    /**
     * Duration of this discount in number of billing cycles.
     * @type {number}
     * @memberof Discount
     */
    billingCycleDuration?: number | null;
    /**
     * The id of coupon associated with this discount, none if discount does not originate from coupon
     * @type {number}
     * @memberof Discount
     */
    couponId?: number | null;
    /**
     * External facing unique identifier of a price plan
     * @type {string}
     * @memberof Discount
     */
    externalUuid?: string;
    /**
     * The scope that this discount covers. One of 'INVOICE_TOTAL', 'ADD_ON', 'METERED_COMPONENT'.
     * @type {string}
     * @memberof Discount
     */
    scope: string;
    /**
     * Add-on this discount covers if scope is ADD_ON.
     * @type {AddOn}
     * @memberof Discount
     */
    addOn?: AddOn | null;
    /**
     * Metered Component this discount covers if scope is METERED_COMPONENT.
     * @type {MeteredComponent}
     * @memberof Discount
     */
    meteredComponent?: MeteredComponent | null;
    /**
     * Dictionary of labels (key: value) to which the discount applies if scope is METERED_COMPONENT.
     * @type {{ [key: string]: string; }}
     * @memberof Discount
     */
    labels?: {
        [key: string]: string;
    };
}
export declare function DiscountFromJSON(json: any): Discount;
export declare function DiscountFromJSONTyped(json: any, ignoreDiscriminator: boolean): Discount;
export declare function DiscountToJSON(value?: Discount | null): any;
