import { Month } from '../../timePeriod'; import { COABalance, COABalanceGroupedByPeriod } from '../coaBalance'; import { COABalanceType } from '../coaBalanceType'; import { COABalancesFilter } from '../coaBalancesFilter'; export interface AdditionalBalancesOptions { isBalanceSheetBalances: boolean; cashAndEquivalents?: { closingBalanceGrouped?: COABalanceGroupedByPeriod; openingBalanceGrouped?: COABalanceGroupedByPeriod; }; isCashFlowCashAndEquivalents?: 'opening_balance' | 'closing_balance' | 'closing_minus_opening_balance'; } /** * Instantiate a new Additional balances option. * @param isBalanceSheetBalances is balance sheet balances * @param isCashFlowCashAndEquivalents is cash flow CashAndEquivalent balances. one of `opening_balance, closing_balance, closing_minus_opening_balance` * @param cashAndEquivalents set only when `isCashFlowCashAndEquivalents === closing_minus_opening_balance` * @returns */ export declare function newAdditionalBalancesOptions(isBalanceSheetBalances: boolean, isCashFlowCashAndEquivalents?: 'opening_balance' | 'closing_balance' | 'closing_minus_opening_balance' | undefined, cashAndEquivalents?: { closingBalanceGrouped?: COABalanceGroupedByPeriod; openingBalanceGrouped?: COABalanceGroupedByPeriod; } | undefined): AdditionalBalancesOptions; /** * Get additional balance of given balance type * @param balanceType balance type * @param resultSlice result slice where the last element represents `thisMonth` * @param resultBalancesOrder order of balances in the result slice. * @param allBalancesOrderedAsc all balances ordered * @param allMonthlyBalancesOrderedAsc all balances ordered in monthly timeframe * @param options other options to generate additional balances. */ export declare function getAdditionalBalance(firstMonthOfFY: Month, balanceType: COABalanceType, resultSlice: COABalance[], resultFilter: COABalancesFilter, allBalancesOrderedAsc: COABalance[], allMonthlyBalancesOrderedAsc: COABalance[], options?: AdditionalBalancesOptions): COABalance | undefined;