import { AutoEncoder } from '@simonbackx/simple-encoding'; import { BalanceItem, BalanceItemWithPayments } from './BalanceItem.js'; import { PaymentGeneral } from './members/PaymentGeneral.js'; import { PaymentCustomer } from './PaymentCustomer.js'; export declare enum ReceivableBalanceType { organization = "organization", member = "member", user = "user", registration = "registration", userWithoutMembers = "userWithoutMembers" } export declare function getReceivableBalanceTypeName(type: ReceivableBalanceType): string; export declare class ReceivableBalanceObjectContact extends AutoEncoder { firstName: string | null; lastName: string | null; emails: string[]; /** * Meta data that is used for filtering who to email */ meta: any; } export declare class ReceivableBalanceObject extends AutoEncoder { id: string; name: string; /** * Only used for organization type */ uri: string | null; contacts: ReceivableBalanceObjectContact[]; /** * Customer to use when creating new payments */ customers: PaymentCustomer[]; } /** * An entity (organization, member or user) that has an outstanding balance towards an organization */ export declare class ReceivableBalance extends AutoEncoder { id: string; objectType: ReceivableBalanceType; object: ReceivableBalanceObject; /** * The organization that should receive the outstanding balance */ organizationId: string; amountPaid: number; amountOpen: number; amountPending: number; lastReminderEmail: Date | null; lastReminderAmountOpen: number; reminderEmailCount: number; } export declare class DetailedReceivableBalance extends ReceivableBalance { balanceItems: BalanceItemWithPayments[]; payments: PaymentGeneral[]; get filteredBalanceItems(): BalanceItem[]; } //# sourceMappingURL=ReceivableBalance.d.ts.map