import { NestedAccountHierarchyForReport } from '../../commonStateTypes/accountView/nestedAccountID'; import { FetchState, ID } from '../../commonStateTypes/common'; import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { AccountBase, AccountLabel, AccountState } from '../../entity/account/accountState'; import { AccountListKeyType, AccountListState } from './accountListState'; export interface AccountListSelectorView extends SelectorView { accounts: AccountBase[]; } export interface UncategorizedAccounts { expense: AccountBase | undefined; income: AccountBase | undefined; } export declare const getAccountList: (accountState: AccountState, accountListState: AccountListState, accountListKey: AccountListKeyType) => AccountListSelectorView; export declare const getAccountListFetchState: (accountListState: AccountListState, accountListKey: AccountListKeyType) => FetchState; export declare const getUncategorizedAccounts: (accountState: AccountState, accountListState: AccountListState, accountListKey: AccountListKeyType) => UncategorizedAccounts; export declare const getNestedAccountListHierarchy: (accountListState: AccountListState, accountListKey: AccountListKeyType) => NestedAccountHierarchyForReport[]; /** * This function gets the list for given label and will filter out the accounts and * nested accounts based on this label * @param accountState * @param accountListState * @param accountListKey * @param accountLabel * @returns */ export declare const getFilteredNestedAndAccountListsForLabel: (accountState: AccountState, accountListState: AccountListState, accountListKey: AccountListKeyType, accountLabel: AccountLabel) => { accountList: AccountBase[]; nestedAccountList: NestedAccountHierarchyForReport[]; }; export declare const getAccountIdsForLabel: (accountListState: AccountListState, accountListKey: AccountListKeyType, accountLabel: AccountLabel) => ID[];