import { Amount } from '../../../../commonStateTypes/amount'; import { Balance } from '../../../../commonStateTypes/balance'; import { FetchStateAndError, FetchedState, ID } from '../../../../commonStateTypes/common'; import { ZeniDate } from '../../../../zeniDayJS'; import { SpendManagementUIState } from '../../billPay/billList/billListState'; export interface TreasuryTransactionStatus { code: string; name: string; } export interface TreasuryDetailState extends FetchedState { accountHistory: AccountHistoryWithBalances; transactionsState: TreasuryListState; accountSummary?: TreasurySummaryWithBalance; } export interface TreasuryListState extends FetchStateAndError { transactions: TreasuryTransaction[]; uiState: TreasuryListUIState; } export interface TreasuryTransaction { amount: Amount; date: ZeniDate; description: string; id: ID; status: TreasuryTransactionStatus; } export interface FundAllocation { amount: Amount; fundCode: string; } export interface TreasurySummaryWithBalance { availableBalance: Amount; fundAllocations: FundAllocation[]; insuredFunds: Amount; processingBalance: Amount; totalBalance: Amount; totalYield: Amount; } export interface AccountHistoryWithBalances extends FetchStateAndError { accountHistoryWithBalance: AccountHistoryWithBalance[]; } export interface AccountHistoryWithBalance { balance: Balance; date: ZeniDate; } export declare const initialAccountHistoryWithBalances: AccountHistoryWithBalances; export declare const toTreasurySortKeyType: (v: string) => "date" | "description" | "amount"; export declare type TreasuryViewSortKey = ReturnType; export interface TreasuryListUIState extends SpendManagementUIState { sortKey: TreasuryViewSortKey; }