import type { Equipment } from '../Inventory/Equipment/Equipment'; import { type TransactionInterface } from '../Sheet/TransactionInterface'; import type { OriginBenefit } from './OriginBenefit/OriginBenefit'; import { type OriginBenefits } from './OriginBenefit/OriginBenefits'; import { type SerializedOriginBenefit, type SerializedOriginBenefits } from './OriginBenefit/SerializedOriginBenefit'; import type { OriginName } from './OriginName'; import { type SerializedSheetOrigin, type SerializedOrigins } from './SerializedOrigin'; export type OriginInterface = { name: OriginName; equipments: Equipment[]; chosenBenefits: Array>; benefits: OriginBenefits; addToSheet(transaction: TransactionInterface): void; serialize(): So; }; export declare abstract class Origin implements OriginInterface { readonly chosenBenefits: Array>; readonly benefits: OriginBenefits; abstract name: OriginName; abstract equipments: Equipment[]; constructor(chosenBenefits: Array>, benefits: OriginBenefits); addToSheet(transaction: TransactionInterface): void; abstract serialize(): SerializedSheetOrigin; protected serializeBenefits(): Sb[]; protected serializeEquipments(): import("..").SerializedSheetEquipment[]; private applyBenefits; private addEquipments; private validateChosenBenefits; }