import { FetchedState, ID } from '../../commonStateTypes/common'; import { TimePeriod } from '../../commonStateTypes/timePeriod'; import { TimeframeTick } from '../../commonStateTypes/timeframeTick'; import { AccountBase, AccountType } from '../../entity/account/accountState'; import { Entity } from '../../entity/genericEntity/entity'; import { TransactionID } from '../../entity/transaction/stateTypes/transactionID'; export declare const getAcTranKey: (accountId: ID, accountType: AccountType, period: TimePeriod) => string; export type AcTranKey = ReturnType; export declare const getAcKey: (accountId: ID, accountType: AccountType) => string; type AcKey = ReturnType; export interface TransactionListUIState { dateRange?: TimeframeTick; scrollYOffset?: number; } export interface AccountTransactions extends FetchedState { transactionIDs: ID[]; account?: AccountBase; } export declare const accountTransactionsInitialState: AccountTransactions; export interface TransactionListByAccountState { transactionListByAccountKey: Record; transactionListUIStateByAccountKey: Record; } export declare const getEntityTranKey: (entity: Entity, period: TimePeriod) => string; type EntityTranKey = ReturnType; export interface EntityTransactions extends FetchedState { transactionIDs: ID[]; entity?: Entity; } export declare const initialEntityTransactionState: EntityTransactions; export interface TransactionListByEntityState { transactionListByEntityKey: Record; } export declare const getClassAcTranKey: (accountId: ID, accountType: AccountType, classId: ID, period: TimePeriod) => string; export type ClassAcTranKey = ReturnType; export declare const getClassAcKey: (accountId: ID, accountType: AccountType, classId: ID) => string; type ClassAcKey = ReturnType; export interface ClassAccountTransactions extends FetchedState { transactionIDs: ID[]; account?: AccountBase; classId?: ID; } export interface TransactionListByClassState { transactionListByClassKey: Record; transactionListUIStateByClassKey: Record; } export declare const initialClassTransactionState: ClassAccountTransactions; export declare const getProjectAcTranKey: (accountId: ID, accountType: AccountType, projectId: ID, period: TimePeriod) => string; export type ProjectAcTranKey = ReturnType; export declare const getProjectAcKey: (accountId: ID, accountType: AccountType, projectId: ID) => string; type ProjectAcKey = ReturnType; export interface ProjectAccountTransactions extends FetchedState { transactionIDs: ID[]; account?: AccountBase; projectId?: ID; } export interface TransactionListByProjectState { transactionListByProjectKey: Record; transactionListUIStateByProjectKey: Record; } export declare const initialProjectTransactionState: ProjectAccountTransactions; export type TransactionCategoryType = 'missingReceipts' | 'miscategorizedExpense' | 'miscategorizedIncome' | 'uncategorizedIncome' | 'uncategorizedExpense'; export declare const getCategoryTypeTranKey: (categoryType: TransactionCategoryType, period: TimePeriod) => string; type CategoryTypeTranKey = ReturnType; export interface CategoryTypeTransactions extends FetchedState { transactionIDs: ID[]; } export interface TransactionListByCategoryState { transactionListByCategoryType: Record; transactionListUIState: TransactionListUIState; } export interface TransactionListState { byAccount: TransactionListByAccountState; byClass: TransactionListByClassState; byEntity: TransactionListByEntityState; byProject: TransactionListByProjectState; byType: Record; latestTransactionId?: TransactionID; } export interface TransactionListSelectorView { latestTransactionId?: TransactionID; } export declare const initialTransactionsStateByCategoryType: CategoryTypeTransactions; export {};