import { TableCellProps } from 'semantic-ui-react'; import * as React from 'react'; export declare type PlainTableGetDataArgs = { params: { [name: string]: any; }; }; export interface PlainTableProps { getData: (args: PlainTableGetDataArgs) => Promise; args: PlainTableGetDataArgs; style?: React.CSSProperties; compact?: boolean; celled?: boolean; onRowClickPath?: (data: T) => string; onNewClickPath?: () => string; onRowClickAction?: (data: T) => void; onEdit?: ((data: T) => void) | string; onConfirmDelete?: (data: T) => Promise; columns?: (keyof T | PlainTableColumn)[]; clientFilter?: { [name: string]: string; }; showDeleteCommand?: (data: T) => boolean; } export interface CrudFieldsForList { caption?: string; asLink?: boolean; render?: (item: T, props: PlainTableActions) => string | any; cellProps?: TableCellProps; headerCellProps?: TableCellProps; } export interface PlainTableColumn extends CrudFieldsForList { name?: string; } export declare const DELETE_COLUMN: { render: (i: any, a: PlainTableActions) => JSX.Element; cellProps: TableCellProps; }; export declare const EDIT_COLUMN: { render: (i: any, a: PlainTableActions) => JSX.Element; cellProps: TableCellProps; }; export interface PlainTableActions { delete: () => void; editAction?: (item: T) => void; editLink?: (item: T) => string; }