import { FetchStateAndError, FetchedState, ID } from '../../../commonStateTypes/common'; import { InvoicingListCounts } from '../../../entity/invoicing/invoicingCommonPayload'; import { InvoicingListSort } from '../invoicingApiHelper'; export interface InvoicingCreditNoteFilters { customerId?: ID; search?: string; } export declare const ALL_INVOICING_CREDIT_NOTE_SORT_KEYS: readonly ["credit_note", "customer", "date", "type", "status", "reference_invoice", "utilization", "total"]; export declare const toInvoicingCreditNoteSortKey: (v: string) => "type" | "date" | "status" | "customer" | "credit_note" | "total" | "reference_invoice" | "utilization"; export type InvoicingCreditNoteSortKey = ReturnType; /** * Structural column descriptor owned by CES so the credit-notes-list column set, * ordering and sortability live next to the `InvoicingCreditNote` model rather * than being hardcoded in web-components. Header labels, cell rendering and * layout (alignment, widths) stay in the view layer; this only carries the * column set, order and sort metadata. */ export interface InvoicingCreditNoteColumnConfig { key: InvoicingCreditNoteSortKey; sortable: boolean; } export declare const INVOICING_CREDIT_NOTE_COLUMNS: InvoicingCreditNoteColumnConfig[]; export declare const ALL_INVOICING_CREDIT_NOTE_TAB_IDS: readonly ["all", "refund_due", "adjusted", "refunded", "voided"]; export declare const toInvoicingCreditNoteTabId: (v: string) => "adjusted" | "refunded" | "refund_due" | "voided" | "all"; export type InvoicingCreditNoteTabId = ReturnType; export interface InvoicingCreditNoteListViewState extends FetchedState { /** Selected status tab (CES-owned so it persists across page revisits). */ activeTab: InvoicingCreditNoteTabId; counts: InvoicingListCounts; countsFetchState: FetchStateAndError; filters: InvoicingCreditNoteFilters; ids: ID[]; nextCursor: string | null; /** Active server-side sort (undefined = backend default order). */ sort?: InvoicingListSort; }