import * as React from 'react'; import { GridIconSlotsComponent } from '../gridIconSlotsComponent'; import { GridSlotsComponentsProps } from '../gridSlotsComponentsProps'; export interface GridApiRefComponentsProperty extends GridIconSlotsComponent { /** * Checkbox component used in the grid for both header and cells. By default, it uses the Material-UI core Checkbox component. */ Checkbox: React.ElementType; /** * Column menu component rendered by clicking on the 3 dots "kebab" icon in column headers. */ ColumnMenu: React.JSXElementConstructor; /** * Error overlay component rendered above the grid when an error is caught. */ ErrorOverlay: React.JSXElementConstructor; /** * Footer component rendered at the bottom of the grid viewport. */ Footer: React.JSXElementConstructor; /** * Header component rendered above the grid column header bar. * Prefer using the `Toolbar` slot. You should never need to use this slot. TODO remove. */ Header: React.JSXElementConstructor; /** * Toolbar component rendered inside the Header component. */ Toolbar?: React.JSXElementConstructor; /** * PreferencesPanel component rendered inside the Header component. */ PreferencesPanel: React.JSXElementConstructor; /** * Overlay component rendered when the grid is in a loading state. */ LoadingOverlay: React.JSXElementConstructor; /** * Overlay component rendered when the grid has no rows. */ NoRowsOverlay: React.JSXElementConstructor; /** * Overlay component rendered when the grid has no results after filtering. */ NoResultsOverlay: React.JSXElementConstructor; /** * Pagination component rendered in the grid footer by default. */ Pagination: React.JSXElementConstructor; /** * Filter panel component rendered when clicking the filter button. */ FilterPanel: React.JSXElementConstructor; /** * GridColumns panel component rendered when clicking the columns button. */ ColumnsPanel: React.JSXElementConstructor; /** * Panel component wrapping the filters and columns panels. */ Panel: React.JSXElementConstructor; } export interface GridComponentsApi { /** * The set of overridable components used in the grid. */ components: GridApiRefComponentsProperty; /** * Overrideable components props dynamically passed to the component at rendering. */ componentsProps?: GridSlotsComponentsProps; }