import type { Invoice, Payment } from './types';
export declare const generateReceiptNumber: () => string;
export declare const getInvoicePatientPaymentStatus: (paidAmount: number, owingAmount: number) => string;
export declare const getInvoiceInsurerPaymentStatus: (paidAmount: number | null | undefined, owingAmount: number) => string;
type PaymentWithRemainingBalance = Payment & {
    remainingBalance: number;
};
type PaymentWithDisplayAmounts = Omit<Payment, 'amount'> & {
    amount: string | undefined;
    remainingBalance: string | undefined;
};
export declare const getPatientPaymentsWithRemainingBalance: (invoice: Invoice) => Array<PaymentWithRemainingBalance>;
export declare const getPatientPaymentsWithRemainingBalanceDisplay: (invoice: Invoice) => Array<PaymentWithDisplayAmounts>;
export declare const getInsurerPaymentsWithRemainingBalance: (invoice: Invoice) => Array<PaymentWithRemainingBalance>;
export declare const getInsurerPaymentsWithRemainingBalanceDisplay: (invoice: Invoice) => Array<PaymentWithDisplayAmounts>;
export declare const getSpecificInsurerPaymentRemainingBalance: (insurers: Array<{
    insurerId: string;
    percentage?: number;
}>, payments: Payment[], insurerId: string, total: number) => {
    insurerDiscountTotal: number;
    insurerPaymentsTotal: number;
    insurerPaymentRemainingBalance: number;
};
export {};
//# sourceMappingURL=payments.d.ts.map