import { ReactNode } from 'react'; import { PaginationProps, TableProps } from 'antd'; import { IPaginate } from '../../types'; export type CustomActionItem = { key: string; icon?: ReactNode; label: ReactNode; onClick?: () => void; danger?: boolean; disabled?: boolean; }; export interface BaseTableProps extends TableProps { viewText: string; actionsText: string; editText: string; deleteText: string; serverPagination?: IPaginate; isCanRead: boolean; isCanUpdate: boolean; isCanDelete: boolean; isHiddenUpdate?: boolean; isHiddenActions?: boolean; isFixedActions?: boolean; renderActions?: (record: object) => CustomActionItem[]; onView: (id: string) => void; onDropdownClick: (id: string) => void; onEdit: () => void; onDelete?: () => void; onShowSizeChange: PaginationProps['onShowSizeChange']; }