import { TableOptions, Table } from '@tanstack/react-table'; import { DataTableColumn, DataTableFeatures, DataTableState, DataTableStateHandlers, ScrollShadowState } from '../type'; type UseDataTableOptions = { data: TData[]; columns: DataTableColumn[]; features?: DataTableFeatures; state?: DataTableState; initialState?: DataTableState; onStateChange?: DataTableStateHandlers; /** * 透传至底层 useReactTable 的额外配置,会与内部配置浅合并 * * 常用于服务端模式:`manualPagination` / `pageCount` / `rowCount` / * `manualSorting` / `manualFiltering`,以及 `meta` 等 */ tableOptions?: Partial>; }; /** * 构造 TanStack 表格实例,并按需开启各项功能 */ export declare function useDataTable({ data, columns, features, state, initialState, onStateChange, tableOptions, }: UseDataTableOptions): { table: Table; features: { sorting: boolean; multiSort: boolean; filtering: boolean; globalFilter: boolean; pagination: boolean; rowSelection: boolean; columnVisibility: boolean; columnOrdering: boolean; columnPinning: boolean; columnResizing: boolean; rowDnd: boolean; expanding: boolean; }; }; /** * 监听容器横向滚动,返回左右阴影显示状态 * * 用于固定列阴影提示 */ export declare function useScrollShadow(wrapperRef: React.RefObject, containerSelector?: string): ScrollShadowState; export {};