import type { PersistableCurrencyAmountUpdate } from './PersistableCurrencyAmountUpdate';
/**
 *
 * @export
 * @interface ProductPeriodFeeUpdate
 */
export interface ProductPeriodFeeUpdate {
    /**
     * The amount charged to the customer for each billing cycle during the term of a subscription.
     * @type {Set<PersistableCurrencyAmountUpdate>}
     * @memberof ProductPeriodFeeUpdate
     */
    periodFee?: Set<PersistableCurrencyAmountUpdate>;
    /**
     * The product component that the fee belongs to.
     * @type {number}
     * @memberof ProductPeriodFeeUpdate
     */
    component?: number;
    /**
     * The number of subscription billing cycles that count as a trial phase and during which no fees are charged.
     * @type {number}
     * @memberof ProductPeriodFeeUpdate
     */
    numberOfFreeTrialPeriods?: number;
    /**
     * The localized name of the fee that is displayed to the customer.
     * @type {{ [key: string]: string; }}
     * @memberof ProductPeriodFeeUpdate
     */
    name?: {
        [key: string]: string;
    };
    /**
     * The localized description of the fee that is displayed to the customer.
     * @type {{ [key: string]: string; }}
     * @memberof ProductPeriodFeeUpdate
     */
    description?: {
        [key: string]: string;
    };
    /**
     * The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
     * @type {number}
     * @memberof ProductPeriodFeeUpdate
     */
    version: number;
    /**
     * The localized title that be used on ledger entries and invoices.
     * @type {{ [key: string]: string; }}
     * @memberof ProductPeriodFeeUpdate
     */
    ledgerEntryTitle?: {
        [key: string]: string;
    };
}
/**
 * Check if a given object implements the ProductPeriodFeeUpdate interface.
 */
export declare function instanceOfProductPeriodFeeUpdate(value: object): value is ProductPeriodFeeUpdate;
export declare function ProductPeriodFeeUpdateFromJSON(json: any): ProductPeriodFeeUpdate;
export declare function ProductPeriodFeeUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductPeriodFeeUpdate;
export declare function ProductPeriodFeeUpdateToJSON(json: any): ProductPeriodFeeUpdate;
export declare function ProductPeriodFeeUpdateToJSONTyped(value?: ProductPeriodFeeUpdate | null, ignoreDiscriminator?: boolean): any;
