import { ColumnFiltersState, ColumnOrderState, ColumnSizingState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table'; import { TypeColumn, TypeFilterValue, TypeRowSelection, TypeSortInfo } from '../../types.js'; /** Project the compatibility sorting model into controlled TanStack state. */ export declare function toTanStackSortingState(sortInfo: TypeSortInfo, columns: readonly TypeColumn[]): SortingState; /** * Restore TanStack sorting to the Inovua-shaped model. Existing entries are * used as templates so compatibility metadata (`type`, `fn`, `columnName`, * and custom fields) survives a controlled state update. */ export declare function fromTanStackSortingState(sorting: readonly SortingState[number][], columns: readonly TypeColumn[], current?: TypeSortInfo): TypeSortInfo; /** * Store the complete compatibility filter entry as the TanStack filter value. * Keeping more than just `entry.value` prevents operator/type/active metadata * from being lost when TanStack calls a controlled state updater. */ export declare function toTanStackColumnFiltersState(filterValue: TypeFilterValue, columns: readonly TypeColumn[]): ColumnFiltersState; /** * Restore complete filter entries from TanStack state. A raw TanStack value is * accepted only when a current compatibility entry can provide its required * type/operator metadata; otherwise the malformed entry is ignored. */ export declare function fromTanStackColumnFiltersState(columnFilters: readonly ColumnFiltersState[number][], columns: readonly TypeColumn[], current?: TypeFilterValue): TypeFilterValue; /** Project an Inovua selection value into TanStack's ID/boolean map. */ export declare function toTanStackRowSelectionState(selection: TypeRowSelection): RowSelectionState; /** * Restore an ID map without requiring row data. When available, values from * the current compatibility selection are retained instead of being replaced * by `true`. */ export declare function fromTanStackRowSelectionState(rowSelection: Readonly, current?: TypeRowSelection): TypeRowSelection; /** * Hydrate selected IDs with objects from the latest row model. Stale selected * IDs are intentionally dropped, and duplicate row IDs keep the first row to * match TanStack's requirement that row IDs are unique. */ export declare function hydrateTanStackRowSelection(rowSelection: Readonly, rows: readonly TRow[], getRowId: (row: TRow, index: number) => unknown): Record; /** Build complete, controlled visibility state for the current columns. */ export declare function projectTanStackColumnVisibility(columns: readonly TypeColumn[], overrides?: Readonly>): VisibilityState; /** Filter/dedupe a requested order, then append every still-available column. */ export declare function projectTanStackColumnOrder(columns: readonly TypeColumn[], requestedOrder?: readonly unknown[] | null): ColumnOrderState; /** * Project resolved grid widths into TanStack sizing state. Explicit computed * widths win, while column min/max constraints remain authoritative. */ export declare function projectTanStackColumnSizing(columns: readonly TypeColumn[], computedWidths?: Readonly>): ColumnSizingState; //# sourceMappingURL=tanstackAdapter.d.ts.map