import type { ColumnPinningState } from '@tanstack/react-table'; import { type JSX } from 'react'; import type { Column } from '../../../hooks/useTable/types.js'; interface DataTableColumnsListProps { /** * Whether the visibility settings (checkboxes) are enabled. */ visibilitySettings: boolean; /** * Whether the column order settings (drag and drop) are enabled. */ columnOrderSettings: boolean; /** * Whether the column pinning settings (pin/unpin buttons) are enabled. */ columnPinningSettings: boolean; /** * Current value of the filter input in the column settings modal. */ activeFilterValue: string; /** * Current local column visibility state in the column settings modal. */ localColumnVisibility: Record; /** * Updates the local column visibility state in the column settings modal. * @param column - the column to update. * @param currentVisibility - the current visibility state of the column. */ updateLocalColumnVisibility: (column: Column, currentVisibility: boolean | 'indeterminate') => void; /** * Current local column order in the column settings modal. */ localColumnOrder: string[]; /** * Updates the local column order in the column settings modal. * @param newColumnOrder - the new column order. */ updateLocalColumnOrder: (newColumnOrder: string[]) => void; /** * Current local column pinning state in the column settings modal. */ localColumnPinning: ColumnPinningState; /** * Updates the local column pinning state in the column settings modal. * @param newState - the new column pinning state. */ updateLocalColumnPinning: (newState: ColumnPinningState) => void; /** * Whether the filter bar is present in the modal above the list. */ hasFilterBar: boolean; } /** * Renders the ordered, filtered list of columns for the column settings modal. * @internal */ export declare const DataTableColumnsList: (props: DataTableColumnsListProps) => JSX.Element | JSX.Element[]; export {};