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'];
}
