import type { columnGroupingFeature, RowData, Table } from '@tanstack/react-table'; import * as React from 'react'; type GroupingTable = { atoms: { grouping: Pick['atoms']['grouping'], 'get' | 'subscribe'>; }; setGrouping: Table<{ columnGroupingFeature: typeof columnGroupingFeature; }, TData>['setGrouping']; getAllColumns: () => { id: string; getCanGroup: () => boolean; columnDef: { header?: unknown; }; }[]; }; export interface GroupingControlsProps { /** A native v9 TanStack Table instance with grouping capability. */ table: GroupingTable; /** List of column IDs that can be grouped. If not provided, uses columns with enableGrouping: true */ groupableColumns?: string[]; /** Placeholder text when no grouping is selected */ placeholder?: string; /** Maximum number of grouping levels allowed */ maxLevels?: number; /** Visual variant of the control */ variant: 'dropdown' | 'chips'; /** Size variant */ size?: 'sm' | 'md'; /** Additional class name */ className?: string; } interface GroupableColumn { id: string; label: string; } declare function GroupingControls({ table, groupableColumns: groupableColumnsProp, placeholder, maxLevels, variant, size, className, }: GroupingControlsProps): React.JSX.Element; declare namespace GroupingControls { var displayName: string; } export type { GroupableColumn }; export { GroupingControls };