/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { Schema } from '../schema.js';
import { SubscriptionCustomPriceExpirationInterval } from './containers/subscriptionCustomPriceExpirationInterval.js';
import { SubscriptionCustomPriceInitialChargeInCents } from './containers/subscriptionCustomPriceInitialChargeInCents.js';
import { SubscriptionCustomPriceInterval } from './containers/subscriptionCustomPriceInterval.js';
import { SubscriptionCustomPricePriceInCents } from './containers/subscriptionCustomPricePriceInCents.js';
import { SubscriptionCustomPriceTrialInterval } from './containers/subscriptionCustomPriceTrialInterval.js';
import { SubscriptionCustomPriceTrialPriceInCents } from './containers/subscriptionCustomPriceTrialPriceInCents.js';
import { ExpirationIntervalUnit } from './expirationIntervalUnit.js';
import { IntervalUnit } from './intervalUnit.js';
import { TrialType } from './trialType.js';
/** (Optional) Used in place of `product_price_point_id` to define a custom price point unique to the subscription. A subscription can have up to 30 custom price points. Exceeding this limit will result in an API error. */
export interface SubscriptionCustomPrice {
    /** (Optional) */
    name?: string;
    /** (Optional) */
    handle?: string;
    /** Required if using `custom_price` attribute. */
    priceInCents: SubscriptionCustomPricePriceInCents;
    /** Required if using `custom_price` attribute. */
    interval: SubscriptionCustomPriceInterval;
    /** Required if using `custom_price` attribute. */
    intervalUnit: IntervalUnit | null;
    /** (Optional) */
    trialPriceInCents?: SubscriptionCustomPriceTrialPriceInCents;
    /** (Optional) */
    trialInterval?: SubscriptionCustomPriceTrialInterval;
    /** (Optional) */
    trialIntervalUnit?: IntervalUnit;
    /** Indicates how a trial is handled when the trail period ends and there is no credit card on file. For `no_obligation`, the subscription transitions to a Trial Ended state. Maxio will not send any emails or statements. For `payment_expected`, the subscription transitions to a Past Due state. Maxio will send normal dunning emails and statements according to your other settings. */
    trialType?: TrialType | null;
    /** (Optional) */
    initialChargeInCents?: SubscriptionCustomPriceInitialChargeInCents;
    /** (Optional) */
    initialChargeAfterTrial?: boolean;
    /** (Optional) */
    expirationInterval?: SubscriptionCustomPriceExpirationInterval;
    /** (Optional) */
    expirationIntervalUnit?: ExpirationIntervalUnit | null;
    /** (Optional) */
    taxIncluded?: boolean;
    [key: string]: unknown;
}
export declare const subscriptionCustomPriceSchema: Schema<SubscriptionCustomPrice>;
//# sourceMappingURL=subscriptionCustomPrice.d.ts.map