import { FetchStateAndError } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { InvoicingCreditNote } from '../../../entity/invoicing/creditNote/creditNoteState'; import { InvoicingListCounts, InvoicingNamedOption } from '../../../entity/invoicing/invoicingCommonPayload'; import { RootState } from '../../../rootStateTypes'; import { InvoicingListSort } from '../invoicingApiHelper'; import { InvoicingCreditNoteColumnConfig, InvoicingCreditNoteFilters, InvoicingCreditNoteTabId } from './invoicingCreditNoteListViewState'; export interface InvoicingCreditNoteListView extends SelectorView { activeTab: InvoicingCreditNoteTabId; columns: InvoicingCreditNoteColumnConfig[]; count: InvoicingListCounts; countsFetchState: FetchStateAndError; creditNotes: InvoicingCreditNote[]; filters: InvoicingCreditNoteFilters; /** * Config lists this page labels from. Tabs and the status badge use * `statusOptions`; the list also has a `type` column, so `typeOptions` is * exposed too rather than leaving type badges with no names to resolve. */ statusOptions: InvoicingNamedOption[]; tabIds: InvoicingCreditNoteTabId[]; typeOptions: InvoicingNamedOption[]; sort?: InvoicingListSort; } /** * Memoized so the denormalized `creditNotes` array (and the wrapping view * object) keep referential identity until the credit-note entity slice or the * list-view slice actually change. */ export declare const getInvoicingCreditNoteListView: (state: RootState) => InvoicingCreditNoteListView;