import React from 'react'; import { PaginationProps } from '../Pagination/types'; export interface TableProps extends React.DetailedHTMLProps, HTMLTableElement> { /** * @default false */ dense?: boolean; /** * @default false */ stickyHeader?: boolean; /** * @default 'divided' */ variant?: 'divided' | 'bordered' | 'striped' | 'clear'; /** * @default false */ hoverable?: boolean; children: any; } export interface TableSectionBase extends React.DetailedHTMLProps, HTMLTableSectionElement> { } export interface TableHeadProps extends TableSectionBase { } export interface TableBodyProps extends TableSectionBase { } export interface TableFooterProps extends TableSectionBase { } export interface TableRowProps extends React.DetailedHTMLProps, HTMLTableRowElement> { } export interface TableCellProps extends React.DetailedHTMLProps, HTMLTableDataCellElement> { /** * The component tag used * default: td */ component?: React.ElementType; } export declare type TableSortCellDirection = 'asc' | 'desc'; export interface TableSortCellProps extends TableCellProps { /** * @default false */ active?: boolean; /** * @default 'asc' */ direction?: TableSortCellDirection; onSortChange: (active: boolean, direction?: TableSortCellDirection) => void; } export interface TablePaginationProps extends PaginationProps { /** * Customizes the options of the rows per page select field. * @default [10, 25, 50, 100] */ rowsPerPageOptions?: Array; /** * Customize the rows per page label. * @default 'Per page:' */ labelRowsPerPage?: React.ReactNode; onRowsPerPageChange?: (value: number) => void; }