import { FetchStateAndError } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { InvoicingDunningCase } from '../../../entity/invoicing/dunningCase/dunningCaseState'; import { InvoicingListCounts, InvoicingNamedOption } from '../../../entity/invoicing/invoicingCommonPayload'; import { RootState } from '../../../rootStateTypes'; import { InvoicingListSort } from '../invoicingApiHelper'; import { InvoicingDunningCaseColumnConfig, InvoicingDunningCaseFilters, InvoicingDunningCaseTabId } from './invoicingDunningCaseListViewState'; export interface InvoicingDunningCaseListView extends SelectorView { activeTab: InvoicingDunningCaseTabId; columns: InvoicingDunningCaseColumnConfig[]; count: InvoicingListCounts; countsFetchState: FetchStateAndError; dunningCases: InvoicingDunningCase[]; filters: InvoicingDunningCaseFilters; /** Config status/type list; the page labels tabs and badges from it. */ statusOptions: InvoicingNamedOption[]; tabIds: InvoicingDunningCaseTabId[]; sort?: InvoicingListSort; } /** * Memoized so the denormalized `dunningCases` array (and the wrapping view * object) keep referential identity until the dunning-case entity slice or the * list-view slice actually change. */ export declare const getInvoicingDunningCaseListView: (state: RootState) => InvoicingDunningCaseListView;