import type * as React from 'react'; import type { RefObject } from '@mui/x-internals/types'; import type { GridFilterItem } from "./gridFilterItem.js"; import type { GridApiCommon } from "./api/gridApiCommon.js"; import type { GridApiCommunity } from "./api/gridApiCommunity.js"; export type GridFilterInputSlotProps = { size?: 'small' | 'medium'; label?: React.ReactNode; placeholder?: string; }; export type GridFilterInputValueProps = { item: GridFilterItem; applyValue: (value: GridFilterItem) => void; apiRef: RefObject; inputRef?: React.Ref; focusElementRef?: React.Ref; headerFilterMenu?: React.ReactNode; clearButton?: React.ReactNode | null; /** * It is `true` if the filter either has a value or an operator with no value * required is selected (for example `isEmpty`) */ isFilterActive?: boolean; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; tabIndex?: number; disabled?: boolean; className?: string; /** * If `true`, filter value changes are applied immediately without debouncing. * @default false */ disableDebounce?: boolean; slotProps?: { root: T; }; };