import React, { ComponentProps } from 'react'; import { DragEndEvent } from '@dnd-kit/core'; import { arrayMove as dndArrayMove } from '@dnd-kit/sortable'; import { List as AntList } from 'antd'; type SortOption = { label: string; value: string; isDefault?: boolean; }; type PaginationConfig = { current?: number; pageSize?: number; total?: number; onChange?: (page: number, pageSize: number) => void; onShowSizeChange?: (current: number, size: number) => void; showSizeChanger?: boolean; }; type ItemSelection = { onChange: (selectedItems: string[]) => void; }; export type ListItem = { id: string; [key: string]: unknown; }; type ListProps = Omit, 'dataSource' | 'renderItem' | 'pagination'> & { className?: string; dataSource: ListItem[]; renderItem: (item: ListItem, index: number) => React.ReactNode; footerContent?: React.ReactElement | null; itemSelection?: ItemSelection | null; loading?: boolean; onSearch?: (value: string) => void; onSortOptionChange?: ((value: string) => void) | null; pagination?: PaginationConfig | false; searchLoading?: boolean; searchPlaceholder?: string; showPagination?: boolean; showSearch?: boolean; showSort?: boolean; showTotalCount?: boolean; sortOptions?: SortOption[]; totalCount?: number | null; draggable?: boolean; onDragEnd?: (event: DragEndEvent) => void; selectedItems?: string[]; }; declare const List: { (props: ListProps): React.ReactNode; Item: import("antd/es/list/Item").ListItemTypeProps; }; export { dndArrayMove }; export type { DragEndEvent }; export default List;