import { Bill } from '../bill'; import { ValidationModel } from './validations'; import { IChargeAttributes } from '../charge/interface'; import { IModifierAttributes } from '../modifier/interface'; import { IPaymentAttributes } from '../payment/interface'; export declare type BillItemAttributes = IChargeAttributes | IModifierAttributes | IPaymentAttributes; /** * * * @export * @abstract * @class BillItem */ export declare abstract class BillItem extends ValidationModel { state: any; /** * * * @type {Bill} */ protected _bill: Bill; /** * * * @type {boolean} */ isSaved: boolean; /** * Creates an instance of BillItem. * * @param {Bill} bill */ constructor(bill: Bill); abstract update(attribute: BillItemAttributes): boolean; /** * * * @returns {Bill} * * @memberOf BillItem */ readonly bill: Bill; /** * * * @returns {boolean} */ save(): boolean; toJson(useNomenclatureIds?: boolean): any; }