import type * as React from 'react'; import type { GridRowAriaAttributesInternalHook, GridRowsOverridableMethodsInternalHook } from "./gridRowConfiguration.js"; import type { GridAggregationInternalHooks } from "./gridAggregationConfiguration.js"; import type { GridCellEditableInternalHook } from "./gridCellEditableConfiguration.js"; import type { GridCSSVariablesInterface } from "../../constants/cssVariables.js"; import type { GridPrivateApiCommon } from "../api/gridApiCommon.js"; import type { GridPrivateApiCommunity } from "../api/gridApiCommunity.js"; import type { DataGridProcessedProps } from "../props/DataGridProps.js"; import type { GridParamsOverridableMethodsInternalHook } from "./gridParamsConfiguration.js"; export interface GridAriaAttributesInternalHook { useGridAriaAttributes: () => React.HTMLAttributes; } export interface GridColumnHeaderAdornmentInternalHook { /** * Returns an optional adornment rendered inside a column header's title * content, at the start, before the title label. Placing it inside the * (non-reversed) title content keeps it on the same side of the title for * both left- and right-aligned headers. Called once per rendered header * cell, so the implementation may use hooks. * @param {string} field The column field. * @returns {React.ReactNode} The adornment node, or `null` for none. */ useColumnHeaderAdornment: (field: string) => React.ReactNode; } export interface GridInternalHook extends GridAriaAttributesInternalHook, GridRowAriaAttributesInternalHook, GridCellEditableInternalHook, GridAggregationInternalHooks, GridColumnHeaderAdornmentInternalHook, GridRowsOverridableMethodsInternalHook, GridParamsOverridableMethodsInternalHook { useCSSVariables: () => { id: string; variables: GridCSSVariablesInterface; }; } export interface GridConfiguration { hooks: GridInternalHook; }