import { type CellData, type Column, type RowData, type Table, type TableFeature } from '@tanstack/react-table'; import { constructCell } from '@tanstack/table-core'; import type { TDataTableFeatures } from '../types/features.types.js'; /** * Helper function to not duplicate this logic for the slightly different use cases of user actions and column settings modal. * @internal */ export declare function getCanHide(table: Table, column: Column, isHideable: (columns: Array>) => boolean): boolean; export declare function table_getOrderedVisibleLeafColumns(table: Table): Column[]; /** * Helper function that provides an array of all visible leaf-node columns, excluding builtin columns. * @internal */ export declare function table_getVisibleLeafColumnsWithoutBuiltin(table: Table): Column[]; /** * Helper function that provides an array of all visible leaf-node columns, excluding builtin columns. * @internal */ export declare function table_getAllLeafColumnsWithoutBuiltin(table: Table, allLeafColumns: Array>): Array>; /** * Helper function that provides an array of all center visible leaf-node columns, excluding builtin columns. * @internal */ export declare function table_getCenterVisibleLeafColumnsWithoutBuiltIn(table: Table): Column[]; /** * Helper function that provides the ids of all visible leaf-node columns that are currently rendered by the virtualizer, excluding builtin columns. * @internal */ export declare function table_getVisibleVirtualColumnIdsWithoutBuiltin(table: Table): string[]; /** * Helper function that provides an array of all visible leaf-node columns for a given column, excluding builtin columns. * @internal */ export declare function column_getIsLastVisibleColumn(column: Column): boolean; /** * Helper function that provides an array of all visible leaf-node columns for a given column. * @internal */ export declare function column_getVisibleLeafColumns(column: Column): Column[]; /** * Helper function that provides an array of all visible center leaf-node columns for a given column. * @internal */ export declare function column_getCenterVisibleLeafColumns(column: Column): Column[]; /** * Helper function that provides an array of all visible left leaf-node columns for a given column. * @internal */ export declare function column_getLeftVisibleLeafColumns(column: Column): Column[]; /** * Helper function that provides an array of all visible right leaf-node columns for a given column. * @internal */ export declare function column_getRightVisibleLeafColumns(column: Column): Column[]; /** * Helper function that provides whether a column can be hidden or not, based on the `enableHiding` property of the column definition and its parent columns. * @internal */ export declare function column_getCanHide(column: Column): boolean; /** * Constructs the column visibility feature for the table, * including API implementations and prototype assignments. * @internal */ export declare function constructColumnVisiblityFeature(): TableFeature; type CellColumn = Parameters[0]; type CellRow = Parameters[1]; type TableCell = ReturnType; /** * TanStack keeps one cell per column on the row in `_cellsCache`. Reusing it * keeps cell identities stable, which memoized cell components rely on. */ type RowWithCellsCache = CellRow & { _cellsCache?: WeakMap; }; /** * Replaces TanStack's `row_getVisibleCells`, which creates a cell for every * defined column — hidden ones included — and filters afterwards. Building * from the visible columns instead means columns that are defined but never * shown cost nothing per rendered row. * @internal */ export declare function row_getVisibleCells(row: RowWithCellsCache): import("@tanstack/table-core").Cell[]; /** * Additional feature implementation for column Visiblity. * @internal */ export declare const DataTableColumnVisiblityFeature: TableFeature; export {}; //# sourceMappingURL=ColumnVisibility.d.ts.map