import { AccessorFn, ColumnDef, DeepKeys, DeepValue, DisplayColumnDef, GroupColumnDef, IdentifiedColumnDef, RowData, } from '@tanstack/react-table' type CustomFieldColumnDef = { isHidden?: boolean } export type CustomColumnDef = ColumnDef & CustomFieldColumnDef export type ColumnHelper = { accessor: < TAccessor extends AccessorFn | DeepKeys, TValue extends TAccessor extends AccessorFn ? TReturn : TAccessor extends DeepKeys ? DeepValue : never, >( accessor: TAccessor, column: TAccessor extends AccessorFn ? DisplayColumnDef & CustomFieldColumnDef : IdentifiedColumnDef & CustomFieldColumnDef, ) => CustomColumnDef display: (column: DisplayColumnDef) => CustomColumnDef group: (column: GroupColumnDef) => CustomColumnDef }