import { AccountsViewParentID, NestedAccountID, NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID'; import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID'; import { AdditionalBalancesOptions } from '../../commonStateTypes/coaBalance/additionalBalances/getAdditionalBalances'; import { COABalancesFilter } from '../../commonStateTypes/coaBalance/coaBalancesFilter'; import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID'; import { EntityOrder } from '../../commonStateTypes/selectorTypes/entityOrder'; import { ReportIDPlusForecastID } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { AccountReport } from './accountSelector'; import { AccountState } from './accountState'; export interface NestedAccountReport { account: AccountReport; children: NestedAccountReport[]; hasSiblings: boolean; id: NestedAccountID; isLeafAccount: boolean; } /** * This function helps build the nested account report for a given account in a section/account group * in a report */ export declare const getNestedAccountReportForAccount: (accountState: AccountState, id: { accountIdHierarchy: NestedAccountIDHierarchy; reportId: ReportIDPlusForecastID; accountsViewParentId?: AccountsViewParentID; classesViewParentId?: ClassesViewParentID; projectsViewParentId?: ProjectsViewParentID; }, filter: COABalancesFilter, accountHasSiblings: boolean, additionalBalancesOptions?: AdditionalBalancesOptions) => NestedAccountReport | undefined; export declare const sortNestedAccounts: (accounts: NestedAccountReport[], filter: COABalancesFilter, order?: EntityOrder) => NestedAccountReport[];