import React from 'react'; import { Pagination, VirtualizedResetScroll } from '../../index.js'; import { Sort } from '../SortInput/index.js'; import { BasedNode, UiSchema, UiSchemaType } from '../../types/schema.js'; import { TableRow, TableRowProps } from './TableRow.js'; import { ContextMenuItem } from '../ContextMenu/index.js'; import { TableCell } from './TableRow.js'; export type BulkAction = ContextMenuItem & { onClick?: (rows?: Set) => void; }; export type RowAction = ContextMenuItem & { onClick?: (...values: any) => void; }; export type TableItemsPosition = { first: number; last: number; actualFirst: number; actualLast: number; }; export type TableResetScroll = VirtualizedResetScroll; export type TablePagination = Pagination; export type TableProps = Partial> & { data: BasedNode | BasedNode[]; schemaType: string; schema: UiSchema; containerRef?: React.MutableRefObject; checksum?: number; sort?: Sort; rowHeight?: 'regular' | 'large'; colVisibility?: 'fit' | 'scroll'; colHidden?: Set; rowActions?: Record; bulkActions?: Record; selectableText?: boolean; disabled?: boolean; showHideColumnButton?: boolean; showSortingMenu?: boolean; selectedRows?: Set; maxSelectedRows?: number; disabledRows?: Set; outerBorder?: boolean; onSelectedRowsChange?: (rows: Set) => void; onSortChange?: React.Dispatch>; onRowClick?: (values: BasedNode, value: any) => void; onRowSelect?: (index: number, values: BasedNode) => void; onAddNewItem?: () => void; onColumnsChange?: (columns: UiSchemaType[]) => void; onColumnHidden?: React.Dispatch>>; onColumnVisibilityChange?: (visibility: Record<'fit' | 'scroll', boolean>) => void; pagination?: Pagination; }; export declare const Table: React.ForwardRefExoticComponent> & { data: BasedNode | BasedNode[]; schemaType: string; schema: UiSchema; containerRef?: React.MutableRefObject; checksum?: number; sort?: Sort; rowHeight?: "regular" | "large"; colVisibility?: "fit" | "scroll"; colHidden?: Set; rowActions?: Record; bulkActions?: Record; selectableText?: boolean; disabled?: boolean; showHideColumnButton?: boolean; showSortingMenu?: boolean; selectedRows?: Set; maxSelectedRows?: number; disabledRows?: Set; outerBorder?: boolean; onSelectedRowsChange?: (rows: Set) => void; onSortChange?: React.Dispatch>; onRowClick?: (values: BasedNode, value: any) => void; onRowSelect?: (index: number, values: BasedNode) => void; onAddNewItem?: () => void; onColumnsChange?: (columns: UiSchemaType[]) => void; onColumnHidden?: React.Dispatch>>; onColumnVisibilityChange?: (visibility: Record<"fit" | "scroll", boolean>) => void; pagination?: Pagination; } & React.RefAttributes>; export { TableRow, TableCell };