import React, { ReactNode } from "react"; import { MouseActionsMapping, PaginationOptions, ReferenceObject, RowConfig, TableAction, TableColumn, TableGlobalAction, TableInitialState, TableNotification, TableObject, TablePagination, TableSelection, TableSorting, TableState } from "./types"; import { SelectionMessages } from "./utils/selection"; export interface DataTableProps { rows: T[]; columns: TableColumn[]; actions?: TableAction[]; rowConfig?(row: T): RowConfig; mouseActionsMapping?: MouseActionsMapping; globalActions?: TableGlobalAction[]; initialState?: TableInitialState; forceSelectionColumn?: boolean; allowReorderingColumns?: boolean; hideSelectionMessages?: boolean; hideColumnVisibilityOptions?: boolean; hideSelectAll?: boolean; tableNotifications?: TableNotification[]; filterComponents?: ReactNode; sideComponents?: ReactNode; ids?: string[]; loading?: boolean; childrenKeys?: string[]; sorting?: TableSorting; selection?: TableSelection[]; pagination?: Partial; paginationOptions?: Partial; onChange?(state: TableState): void; resetKey?: string; selectionMessages?: SelectionMessages; onReorderColumns?(columns: Array): void; customClasses?: CustomClassesType; stickyHeader?: boolean; columnsAlignment?: "left" | "center" | "right"; globalActionComponents?: React.ReactNode; childrenTransfer?: React.ReactNode; keepDisabledColumns?: boolean; } export declare function DataTable(props: DataTableProps): JSX.Element; declare type CssClassName = string; declare type CustomClassesType = { toolbar: CssClassName; paper: CssClassName; tableWrapper: CssClassName; }; export {};