import { type IrisGridModel, type IrisGridProps, type IrisGridUtils, type IrisGridType } from '@deephaven/iris-grid'; import { type GridRange, type Selection } from '@deephaven/grid'; interface UseTablePluginProps { /** * The IrisGrid model for this plugin. * Currently only IrisGridTableModelTemplate types are supported. * Other IrisGrid model types will be ignored for now. */ model: IrisGridModel | undefined; /** * A reference to the IrisGrid component instance. */ irisGridRef: React.MutableRefObject; /** * A IrisGridUtils instance. */ irisGridUtils: IrisGridUtils | undefined; /** * The currently selected ranges in the grid. * @deprecated Use `selection` instead. */ selectedRanges: readonly GridRange[] | undefined; /** * The current grid selection, including keyed selections. */ selection: Selection | null | undefined; } /** * Hook to get a TablePlugin component and the IrisGrid props derived from the plugin. * The returned props should be passed to the IrisGrid component or merged with other sources * of the same props. * @param props The properties for the table plugin. The props object itself does not need to be memoized, * but the values inside it should be stable to avoid unnecessary re-renders. * @returns Object containing `Plugin` key which is the Plugin component. * The remaining object keys are IrisGrid props associated with the plugin. */ export declare function useTablePlugin({ model, irisGridRef, irisGridUtils, selectedRanges, selection, }: UseTablePluginProps): { Plugin: JSX.Element | null; } & Pick; export default useTablePlugin; //# sourceMappingURL=useTablePlugin.d.ts.map