import { COABalance, COABalanceGrouped, COABalanceGroupedByPeriod, COABalanceTimeFrame } from '../../commonStateTypes/coaBalance/coaBalance'; import { COABalanceType } from '../../commonStateTypes/coaBalance/coaBalanceType'; import { CurrencyPayload } from './viewAndReportPayloadv2'; interface AmountPayloadV2 { value: number | null; forecast_value?: number | null; total_forecast_value?: number | null; total_value?: number | null; } /** * Interface for any Chart of Account (COA) balance payload in a * date range. */ export interface COABalancePayloadV2 { amount: AmountPayloadV2; end_date: string; label: string | null; start_date: string; account_ids?: string[]; id?: string; } /** * map COABalanceV2 Payload to COABalance * @param payload COABalance payload JSON * @param timeframe COABalance timeframe, default: 'free_range' * @param type COABalance type, default: 'default' * @returns COA Balance */ export declare const mapCOABalancePayloadV2ToCOABalance: (payload: COABalancePayloadV2, currencyPayload: CurrencyPayload, timeframe?: COABalanceTimeFrame, type?: COABalanceType) => COABalance; export interface COABalanceGroupedByPeriodPayloadV2 { months?: COABalancePayloadV2[]; quarters?: COABalancePayloadV2[]; weeks?: COABalancePayloadV2[]; years?: COABalancePayloadV2[]; } export interface COABalanceGroupedPayloadV2 extends COABalanceGroupedByPeriodPayloadV2 { averages?: { months?: COABalancePayloadV2; }; totals?: { months?: COABalancePayloadV2; quarters?: COABalancePayloadV2; weeks?: COABalancePayloadV2; years?: COABalancePayloadV2; }; } export declare const mapCOABalanceGroupedPayloadV2ToCOABalanceGrouped: (payload: COABalanceGroupedPayloadV2, currencyPayload: CurrencyPayload, timeframe: "month" | "quarter" | "year") => COABalanceGrouped; export declare const mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod: (payload: COABalanceGroupedByPeriodPayloadV2, currencyPayload: CurrencyPayload, timeframe: "month" | "quarter" | "year") => COABalanceGroupedByPeriod; /** * Use this function to combine months/quarters/years coa payloads which * also have totals in them * @param payloadA * @param payloadB * @returns */ export declare const combineCOABalanceGrouped: (payloadA: COABalanceGrouped, payloadB: COABalanceGrouped) => COABalanceGrouped; export {};