UNPKG

@wealthx/borrow-capacity-lib

Version:
51 lines (50 loc) 2.9 kB
import { BorrowCapacityParams, LoanRepaymentParams, HEMCalculationParams, GrossToNetParams, NetToGrossParams } from "../types/calculations.types"; /** * Calculate borrowing capacity based on income, expenses, and interest rate * Formula based on: https://wealthx.atlassian.net/wiki/spaces/WD/pages/86343838/Finance+Borrow+capacity+formula * * @param params.monthlyIncome - NET Monthly income not including rental income * @param params.monthlyExpense - NET Monthly expense * @param params.interestRate - Annual interest rate (as decimal, e.g., 0.05 for 5%) * @param params.bufferRate - Buffer of assessment rate (default 0.03) * @param params.surplusAvailableForLoanRate - Actual portion of surplus available for loan (default 1.0) * @param params.loanTerm - Default 30 years (360 months) * @param params.numberOfApplicants - Number of applicants (default 1 for single, 2 for couple) * @param params.numberOfDependants - Number of dependants (default 0) * @param params.monthlyRentalIncome - NET Monthly rental income * @returns Maximum borrowing capacity */ export declare function calculateBorrowCapacity(params: BorrowCapacityParams): number; /** * Calculate monthly repayment amount for a loan * Formula based on: https://wealthx.atlassian.net/wiki/spaces/WD/pages/86343838/Finance+Borrow+capacity+formula * * @param params.interestRate - Annual interest rate (as decimal, e.g., 0.05 for 5%) * @param params.loanTerm - Loan term in months (default 30 years) * @returns Monthly repayment amount */ export declare function calculateLoanRepayment(params: LoanRepaymentParams): number; /** * Calculate HEM (Household Expenditure Measure) expense based on income, household composition, and period * * @param params.totalIncome - GROSS Total household ANNUAL income * @param params.numberOfApplicants - Number of applicants (2 for couple, 1 for single) * @param params.numberOfDependants - Number of dependants (0-3, capped at 3) * @param params.period - Period type (weekly or monthly) * @param params.bufferRate - Buffer rate to add on top (default 0.05 for 5%) * @returns HEM expense amount */ export declare function calculateHEMExpense(params: HEMCalculationParams): number; /** * @param params.grossIncome - Annual gross income * @param params.includeMedicareLevy - Whether to include 2% Medicare levy (default: true) * @returns Net income after tax and Medicare levy */ export declare function grossToNet(params: GrossToNetParams): number; /** * Convert net income to gross income (reverse calculation) * @param params.netIncome - Target net income after tax and Medicare levy * @param params.includeMedicareLevy - Whether to include 2% Medicare levy (default: true) * @returns Gross income required to achieve the target net income */ export declare function netToGross(params: NetToGrossParams): number;