import { ConfirmDialogOptions } from '@judo/feedback'; import { Action, Button as ButtonElement, ButtonGroup as ButtonGroupElement, PageDefinition } from '@judo/model-api'; export interface RowActionCellProps { /** Pre-filtered visible buttons for this row */ visibleButtons: ButtonElement[]; /** The ButtonGroup element from the model (for featuredActions, testId) */ buttonGroupElement?: ButtonGroupElement; /** Page definition for resolving actions */ page?: PageDefinition; /** Function to dispatch actions with row transfer context */ dispatchRowAction: (action: Action, rowEntity: unknown) => Promise; /** The transfer data for this row */ rowEntity: unknown; /** Optional confirmation function for destructive actions */ confirm?: (options: ConfirmDialogOptions) => Promise; } /** * Renders row action buttons in a table cell with featured/overflow split. * * Uses the `featuredActions` property from the ButtonGroup model to determine * how many buttons are shown inline vs. in a dropdown menu: * - featuredActions = 0 (default): auto-CRUD mode — CRUD buttons shown inline, * non-CRUD in dropdown. Delete requires `__deleteable === true` on the row. * - featuredActions > 0: first N as inline buttons, rest in dropdown * - featuredActions >= total: all buttons inline, no dropdown */ export declare function RowActionCell({ visibleButtons, buttonGroupElement, page, dispatchRowAction, rowEntity, confirm, }: RowActionCellProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=RowActionCell.d.ts.map