import React from "react"; import type { TableColumnProps, TableProps, InputProps, SelectProps, InputNumberProps, FormInstance, FormItemProps, DatePickerProps, RadioGroupProps, CascaderProps, TimePickerProps, TreeSelectProps } from "antd"; import { CheckboxGroupProps } from "antd/lib/checkbox"; import "./EditableTable.less"; export interface EditableTableColumns extends TableColumnProps { valueType?: "input" | "select" | "inputNumber" | "datePicker" | "timePicker" | "checkboxGroup" | "radioGroup" | "cascader" | "treeSelect" | "option"; antdComponentProps?: { input?: InputProps; select?: SelectProps; inputNumber?: InputNumberProps; datePicker?: DatePickerProps; timePicker?: TimePickerProps; checkboxGroup?: CheckboxGroupProps; radioGroup?: RadioGroupProps; cascader?: CascaderProps; treeSelect?: TreeSelectProps; }; formItemProps?: ((form?: FormInstance, config?: { rowIndex?: number; colIndex?: number; name?: string[]; dataIndex?: string; listName?: string; record?: Record; }) => FormItemProps) | FormItemProps; isEditable?: boolean; isHidden?: boolean; render?: (text?: string, row?: any, index?: any, action?: { remove?: (index: number) => void; insert?: (index: number, item: any) => void; replace?: (index: number, item: any) => void; getKey?: (index: number) => number; push?: (item: any) => void; }) => React.ReactNode | null; } export declare type onActionOptions = { insert?: (index: number, item: any) => void; replace?: (index: number, item: any) => void; remove?: (index: number) => void; getKey?: (index: number) => number; push?: (item: any) => void; sortList?: (result: any[]) => any[]; resetList?: (newList: any[]) => void; }; export declare type EditableTableProps = TableProps & { columns?: EditableTableColumns[]; dataSource?: DateType[]; showAddButton?: boolean; form?: FormInstance; listName?: string; minRowNumber?: number; onAction?: (action: onActionOptions) => void; onRowChange?: (list: DateType[]) => void; }; export declare const EditableTable: React.MemoExoticComponent<(>({ columns, form, listName, dataSource, showAddButton, minRowNumber, onAction, onRowChange, ...restProps }: EditableTableProps) => JSX.Element)>;