import { InvoicingCatalogItemLifecycleAction, InvoicingCatalogLifecycleActionOption, InvoicingListCounts, InvoicingPlan, InvoicingProductColumnConfig } from '@zeniai/client-epic-state'; import { SortState } from '../../dataListTable/types'; export type InvoicingCatalogTab = "all" | "addons" | "charges" | "plans"; export type InvoicingCatalogRow = InvoicingPlan & { externalId?: string; productCode?: string; }; export interface InvoicingCatalogPageProps { activeTab: InvoicingCatalogTab; counts: InvoicingListCounts; hasMore: boolean; isLoading: boolean; isLoadingMore: boolean; plans: InvoicingPlan[]; /** * CES-owned column set + sort metadata (`{key, sortable}`) for the product * (add-ons / charges) table. Drives column order and sortability; widths, * alignment, header labels and cell rendering stay in the view layer (see * {@link PRODUCT_COLUMN_SPECS}). The plans table keeps its own columns here. */ productColumns: InvoicingProductColumnConfig[]; products: InvoicingPlan[]; searchValue: string; catalogItemLifecycleActionOptions?: InvoicingCatalogLifecycleActionOption[]; countsLoading?: boolean; runningCatalogItemActionId?: string | null; sortState?: SortState | null; onAddItem: () => void; onItemClick: (tab: InvoicingCatalogTab, id: string) => void; onLoadMore: () => void; onSearchChange: (value: string) => void; onTabChange: (tab: InvoicingCatalogTab) => void; onCatalogItemLifecycleAction?: (id: string, action: InvoicingCatalogItemLifecycleAction) => void; onImportCsv?: () => void; onRowAction?: (tab: InvoicingCatalogTab, id: string, action: "edit") => void; onSortChange?: (next: SortState | null) => void; } export declare function InvoicingCatalogPage({ activeTab, counts, hasMore, isLoading, isLoadingMore, countsLoading, plans, productColumns, products, searchValue, sortState, onAddItem, onImportCsv, onItemClick, onLoadMore, onRowAction, catalogItemLifecycleActionOptions, onCatalogItemLifecycleAction, runningCatalogItemActionId, onSearchChange, onSortChange, onTabChange, }: Readonly): import("react/jsx-runtime").JSX.Element; export default InvoicingCatalogPage;