/**
 * 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 { Customer1 } from './Customer1';
import { PricePlan1 } from './PricePlan1';
/**
 *
 * @export
 * @interface Coupon
 */
export interface Coupon {
    /**
     * Unique name identifier.
     * @type {string}
     * @memberof Coupon
     */
    readonly name: string;
    /**
     * UI-friendly name used for data display. Defaults to `name`.
     * @type {string}
     * @memberof Coupon
     */
    displayName?: string;
    /**
     * The time when the coupon will stop being effective one its applied.
     * @type {number}
     * @memberof Coupon
     */
    durationLength?: number | null;
    /**
     * The unit time unit to apply to the specified duration length.
     * @type {string}
     * @memberof Coupon
     */
    durationUnit?: string | null;
    /**
     * ISO-8601 formatted timestamp that defines after what timestamp this coupon cannot be applied.
     * @type {Date}
     * @memberof Coupon
     */
    expirationTime?: Date | null;
    /**
     *
     * @type {any}
     * @memberof Coupon
     */
    readonly frequency?: any | null;
    /**
     * The maximum number of times this coupon can be used.
     * @type {number}
     * @memberof Coupon
     */
    maxUses?: number | null;
    /**
     * Customer facing code that can be used to apply coupon.
     * @type {string}
     * @memberof Coupon
     */
    code?: string | null;
    /**
     *
     * @type {any}
     * @memberof Coupon
     */
    readonly discountType?: any | null;
    /**
     * The amount of discount to give based on discount_type
     * @type {number}
     * @memberof Coupon
     */
    discountAmount: number;
    /**
     *
     * @type {Array<Customer1>}
     * @memberof Coupon
     */
    excludedCustomers?: Array<Customer1>;
    /**
     *
     * @type {Array<PricePlan1>}
     * @memberof Coupon
     */
    excludedPricePlans?: Array<PricePlan1>;
}
export declare function CouponFromJSON(json: any): Coupon;
export declare function CouponFromJSONTyped(json: any, ignoreDiscriminator: boolean): Coupon;
export declare function CouponToJSON(value?: Coupon | null): any;
