import { ColumnPinningPosition, ColumnPinningState } from '@tanstack/react-table'; import { type Range } from '@tanstack/react-virtual'; /** * Adapts the visible range indexes to include pinned columns. * * This function is passed to the `rangeExtractor` of TanStack Virtualization. * It modifies the visible range indexes to ensure that pinned columns are preserved * within the range of visible columns. * * @param range - the array of indexes representing the initial visible range. * @param pinnedLeftIndexes - the list of indexes pinned to the left. * @param pinnedRightIndexes - the list of indexes pinned to the right. * @returns An array of indexes with pinned columns included in the visible range. */ export declare function addPinnedColumnsToVisibleRange(range: Range, pinnedLeftIndexes: number[], pinnedRightIndexes: number[]): number[]; /** * @param idsToPin - the leaf columns to pin. * @param oldState - the previous column pinning state. * @param position - the position to pin the columns to. * @returns a new column pinning state with the given columns left/right pinned or unpinned. */ export declare function pinColumns(idsToPin: string[], oldState: ColumnPinningState, position: ColumnPinningPosition): ColumnPinningState; /** * Determines whether a given column is pinned based on the given pinning state. * * @param columnId - The ID of the column to check. * @param columnsPinned - A pinning state object that is used to determine the column's pinning state. * @returns `true` if the column is pinned (either to the left or right) in the provided state. * */ export declare function getIsColumnPinned(columnId: string, columnsPinned: ColumnPinningState): boolean;