import { AutoEncoder } from '@simonbackx/simple-encoding'; import { BalanceItem } from '../../BalanceItem.js'; import { type BundleDiscountCalculation } from '../../BundleDiscount.js'; import { BalanceItemCartItem } from './BalanceItemCartItem.js'; import { type RegisterCheckout, type RegisterContext } from './RegisterCheckout.js'; import { IDRegisterItem, type RegisterItem } from './RegisterItem.js'; import { RegistrationWithPlatformMember } from './RegistrationWithPlatformMember.js'; export declare class IDRegisterCart extends AutoEncoder { items: IDRegisterItem[]; balanceItems: BalanceItemCartItem[]; deleteRegistrationIds: string[]; get organizationId(): string | null; hydrate(context: RegisterContext): RegisterCart; } export declare class RegisterCart { items: RegisterItem[]; balanceItems: BalanceItemCartItem[]; /** * You can define which registrations you want remove as part of this register operation. */ deleteRegistrations: RegistrationWithPlatformMember[]; bundleDiscounts: BundleDiscountCalculation[]; calculatePrices(): void; clone(): RegisterCart; convert(): IDRegisterCart; add(item: RegisterItem): void; canAdd(item: RegisterItem): boolean; contains(item: RegisterItem): boolean; getMemberAndGroup(memberId: string, groupId: string): RegisterItem | null; containsMemberAndGroup(memberId: string, groupId: string): boolean; remove(item: RegisterItem, replaceWith?: RegisterItem): void; removeMemberAndGroup(memberId: string, groupId: string): void; removeRegistration(registration: RegistrationWithPlatformMember): void; unremoveRegistration(registration: RegistrationWithPlatformMember): void; canAddBalanceItem(item: BalanceItemCartItem): boolean; addBalanceItem(item: BalanceItemCartItem): void; removeBalanceItem(item: BalanceItemCartItem): void; get isEmpty(): boolean; get count(): number; get price(): number; get priceDueLater(): number; /** * Discounts that will be applied to items that are due now * (net, so minus the already applied discounts) */ get bundleDiscount(): number; /** * Discounts that will be applied to items that are due later * (net, so minus the already applied discounts) */ get bundleDiscountDueLater(): number; get refund(): number; getCancellationFees(cancellationFeePercentage: number): number; calculateCancellationFee(price: number, cancellationFeePercentage: number): number; get singleOrganization(): import("../../Organization.js").Organization | null; validate(checkout: RegisterCheckout, data?: { memberBalanceItems?: BalanceItem[]; }): void; } //# sourceMappingURL=RegisterCart.d.ts.map