import { NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID'; import { NestedClassID } from '../../commonStateTypes/classesView/nestedClassID'; import { AccountMetadataPayload } from '../../entity/account/accountPayload'; import { ClassMetadataPayload } from '../../entity/class/classPayload'; import { AccountCOABalanceGroupedPayloadByAccountId } from '../subAccountView/reportBySubAccountPayload'; import { COABalanceGroupedPayloadV2 } from '../v2/coaBalancePayload'; import { ReportPayloadV2 } from '../v2/viewAndReportPayloadv2'; export interface ReportByClassMetadataPayloadV2 extends ReportPayloadV2 { accounts: AccountMetadataPayload[]; classes: ClassMetadataPayload[]; } export interface ClassCOABalanceGroupedPayloadV2 extends COABalanceGroupedPayloadV2 { accounts: AccountCOABalanceGroupedPayloadByAccountId; } interface ClassCOABalanceGroupedPayloadByClassIdV2 { [class_Id: string]: ClassCOABalanceGroupedPayloadV2; } export interface SectionByClassCOABalanceGroupedPayloadV2 extends COABalanceGroupedPayloadV2 { classes: ClassCOABalanceGroupedPayloadByClassIdV2; } interface CalculatedClassCOABalanceGroupedPayloadByClassIdV2 { [class_Id: string]: COABalanceGroupedPayloadV2; } /** * A section whose per-class entries carry a time series and nothing else: the * backend fills the account-wise map only for the account sections, so the * calculated sections (net income, the operating total, change in cash) are * grouped by class with no accounts underneath. */ export interface CalculatedSectionByClassCOABalanceGroupedPayloadV2 extends COABalanceGroupedPayloadV2 { classes: CalculatedClassCOABalanceGroupedPayloadByClassIdV2; } export interface ClassMetadataWithBalancesPayloadV2 { classBalances: COABalanceGroupedPayloadV2; classMetadata: ClassMetadataPayload; nestedAccountIds: NestedAccountIDHierarchy[]; nestedClassId: NestedClassID; } export {};