import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { InvoicingNamedOption } from '../../../entity/invoicing/invoicingCommonPayload'; import { InvoicingTransaction } from '../../../entity/invoicing/invoicingTransaction/invoicingTransactionState'; import { RootState } from '../../../rootStateTypes'; import { InvoicingListSort } from '../invoicingApiHelper'; import { InvoicingTransactionColumnConfig, InvoicingTransactionFilters, InvoicingTransactionTabId } from './invoicingTransactionListViewState'; export interface InvoicingTransactionListView extends SelectorView { activeTab: InvoicingTransactionTabId; columns: InvoicingTransactionColumnConfig[]; filters: InvoicingTransactionFilters; nextCursor: string | null; /** * Config lists this page labels from. Tabs on this list are transaction * *types*, while row badges show transaction *status*, so both are exposed — * conflating them left status badges with no names to resolve against. */ statusOptions: InvoicingNamedOption[]; tabIds: InvoicingTransactionTabId[]; transactions: InvoicingTransaction[]; typeOptions: InvoicingNamedOption[]; sort?: InvoicingListSort; } /** * Memoized so the denormalized `transactions` array (and the wrapping view * object) keep referential identity until the transaction entity slice or the * list-view slice actually change. */ export declare const getInvoicingTransactionListView: (state: RootState) => InvoicingTransactionListView;