import { InvoicingCoupon, InvoicingCouponColumnConfig, InvoicingCouponTabId, InvoicingDiscountLifecycleAction, InvoicingDiscountLifecycleActionOption, InvoicingListCounts } from '@zeniai/client-epic-state'; import { SortState } from '../../dataListTable/types'; /** Presentational Discounts (coupons) list for the Invoicing module. */ export interface InvoicingDiscountListPageProps { activeStatus: string; /** * CES-owned column set + sort metadata (`{key, sortable}`). Drives the column * order and sortability; widths, alignment, header labels and cell rendering * stay here in the view layer (see {@link COUPON_COLUMN_SPECS}). */ columns: InvoicingCouponColumnConfig[]; counts: InvoicingListCounts; coupons: InvoicingCoupon[]; hasMore: boolean; isLoading: boolean; isLoadingMore: boolean; searchValue: string; /** CES-owned ordered filter-tab id set. Labels + counts are applied here. */ tabIds: InvoicingCouponTabId[]; countsLoading?: boolean; discountLifecycleActionOptions?: InvoicingDiscountLifecycleActionOption[]; runningDiscountActionId?: string | null; sortState?: SortState | null; onCouponClick: (couponId: string) => void; onLoadMore: () => void; onSearchChange: (value: string) => void; onStatusChange: (status: string) => void; onCreateCoupon?: () => void; onDiscountLifecycleAction?: (id: string, action: InvoicingDiscountLifecycleAction) => void; onImportCsv?: () => void; onRowAction?: (couponId: string, action: "edit") => void; onSortChange?: (next: SortState | null) => void; } export declare function InvoicingDiscountListPage({ activeStatus, columns, counts, coupons, hasMore, isLoading, isLoadingMore, countsLoading, searchValue, sortState, tabIds, onCouponClick, onCreateCoupon, onImportCsv, onLoadMore, onRowAction, discountLifecycleActionOptions, onDiscountLifecycleAction, runningDiscountActionId, onSearchChange, onSortChange, onStatusChange, }: Readonly): import("react/jsx-runtime").JSX.Element; export default InvoicingDiscountListPage;