import * as React from 'react'; import type { MenuItemProps } from "../../../Menu/index.js"; import type { TableColumnConfig, TableDataItem, TableProps } from "../../Table.js"; import "./withTableActions.css"; export declare const actionsColumnId = "_actions"; export declare function enhanceSystemColumn(columns: TableColumnConfig[], enhancer: (systemColumn: TableColumnConfig) => void): TableColumnConfig[]; export interface TableAction { text: string; handler: (item: I, index: number, event: React.MouseEvent) => void; href?: ((item: I, index: number) => string) | string; target?: string; rel?: string; disabled?: boolean; theme?: MenuItemProps['theme']; icon?: MenuItemProps['iconStart']; qa?: string; } export interface TableActionGroup { title: string; items: TableActionConfig[]; } export type TableActionConfig = TableAction | TableActionGroup; /** * common sizes for Menu and Button */ export type TableRowActionsSize = 's' | 'm' | 'l' | 'xl'; export type RenderRowActionsProps = { item: I; index: number; }; export interface WithTableActionsProps { getRowActions?: (item: I, index: number) => TableActionConfig[]; renderRowActions?: (props: RenderRowActionsProps) => React.ReactNode; rowActionsSize?: TableRowActionsSize; rowActionsIcon?: React.ReactNode; } export declare function withTableActions(TableComponent: React.ComponentType & E>): React.ComponentType & WithTableActionsProps & E>;