import { InvoicingTransaction } from '@zeniai/client-epic-state'; import { InvoicingActionMenuItem } from '../common/InvoicingActionMenu'; export interface TransactionActionMenuCallbacks { onCapture?: () => void; onViewCustomer?: () => void; onViewDetails?: () => void; onViewInvoice?: () => void; onViewSubscription?: () => void; } export interface TransactionActionMenuOptions { disabled?: boolean; includeViewDetails?: boolean; } /** * Single source of truth for the transaction (payment) action menu, shared by * the detail page kebab and each payments-list row ⋮ menu so they never drift. * The detail page's full action set drives it — capture, View Invoice, View * Subscription, View Customer — each gated on the related entity existing and on * its callback being wired. The list wires only View Invoice / View Customer and * sets includeViewDetails, which appends a trailing View Details entry that opens * the transaction detail (the list divider before View Customer is suppressed so * only the detail keeps its capture-vs-navigation separator). */ export declare function buildTransactionActionMenuItems(transaction: InvoicingTransaction, callbacks: TransactionActionMenuCallbacks, options?: TransactionActionMenuOptions): InvoicingActionMenuItem[];