import { InvoicingSubscription, InvoicingSubscriptionLifecycleAction, InvoicingSubscriptionLifecycleActionOption } from '@zeniai/client-epic-state'; import { InvoicingActionMenuItem } from '../common/InvoicingActionMenu'; export type SubscriptionListRowAction = InvoicingSubscriptionLifecycleAction; export interface SubscriptionActionMenuCallbacks { onChangeTermEnd?: () => void; onEdit?: () => void; onLifecycleAction?: (action: InvoicingSubscriptionLifecycleAction) => void; onViewDetails?: () => void; onViewInvoices?: () => void; } export interface SubscriptionActionMenuOptions { disabled?: boolean; includeEdit?: boolean; includeViewDetails?: boolean; lifecycleActionOptions?: InvoicingSubscriptionLifecycleActionOption[]; } /** * Single source of truth for the subscription action menu, shared by the detail * page kebab and each list-row ⋮ menu. Lifecycle entries come from * `subscription_lifecycle_action_options` in GET /1.0/config, filtered by the * subscription's current status. */ export declare function buildSubscriptionActionMenuItems(subscription: InvoicingSubscription, callbacks: SubscriptionActionMenuCallbacks, options?: SubscriptionActionMenuOptions): InvoicingActionMenuItem[];