import type { IPaginationProps } from "../Pagination/index"; import { DndContextProps } from '@dnd-kit/core'; import { TableProps, TooltipProps } from 'antd'; import { ColumnGroupType } from 'antd/es/table/index'; import { ColumnType } from 'antd/es/table/interface'; import React, { ReactNode } from 'react'; export type ExtendedColumn = (ColumnGroupType | ColumnType) & { ellipsisProps?: { title: ReactNode | ((record: RecordType) => ReactNode); mode?: 'black' | 'white'; tooltipProps?: Exclude; } | false; searchFilterPanel?: { onSearch?: (value: string) => Promise; }; }; export type infiniteScrollProps = { noMoreIndicator?: ReactNode; loadingIndicator?: ReactNode; enabled: boolean; loadMore: (page: number, pageSize: number, extraParams?: any) => Promise<{ data: any[]; hasMore: boolean; total?: number; }>; threshold?: number; onPageReset?: () => void; }; export type ExtendedColumnsType = ExtendedColumn[]; export interface ITableProps extends Omit, 'rowKey' | 'pagination' | 'columns'> { columns?: ExtendedColumnsType; rowKey?: string; sort?: boolean; dndContextProps?: DndContextProps; isFullRowDrag?: boolean; extraParams?: Record; pagination?: (IPaginationProps & { scrollToTop?: boolean; }) | false; infiniteScroll?: infiniteScrollProps; onDragEnd?: (data: (T & { index: number; })[], extraParams?: any) => void; } declare const Table: (p: ITableProps & { ref?: React.Ref | undefined; }) => React.ReactElement; export default Table;