import type { Dispatch, SetStateAction } from 'react'; import type { DataTableV2ColumnVisibilityState } from '../../../features/ColumnVisibility/ColumnVisibility.js'; import type { Column } from '../../../hooks/useTable/types.js'; /** * Generates an object with the visibility of each column. * @param columns - The columns in the table. * @param columnVisibility - The visibility of the table columns. * @returns an object that contains the column ids as keys with their visibility as values. * @internal */ export declare function generateColumnVisibilityObject(columns: Column[], columnVisibility?: Record): { [k: string]: boolean; }; /** * Updates the local column visibility of multiple columns used when clicking show/hide all or parent column checkboxes. * @param columns - The columns in the table. * @param currentVisibilityState - The current column visibility state in the table. * @param localColumnVisibility - The current column visibility state in the settings. * @param setLocalColumnVisibility - Setter to update the column visibility state in the settings. * @internal */ export declare function updateMultipleLocalColumnVisibility(columns: Column[], currentVisibilityState: boolean | 'indeterminate', localColumnVisibility: Record, setLocalColumnVisibility: Dispatch>>): void; /** * Gets the combined checked value for a parent visibiliy checkbox * @param columnVisibility - The visibility of the table columns. * @returns `true` if all columns to consider a visible, `false` all columns are hidden and `indeterminate` if some are visible and some hidden * @internal */ export declare function getCombinedVisibilityCheckboxState(columnVisibility: Record): boolean | "indeterminate"; /** * Determines whether the visibility of one or multiple columns has changed. * @param columnVisibilityToReset - The column visibility state that is used to reset. * @param localColumnVisibility - The current column visibility state in the settings. * @returns `true` if the visibility has changed for at least one column, `false` otherwise. * @internal */ export declare function getHasVisibilityChanged(columnVisibilityToReset: DataTableV2ColumnVisibilityState | undefined, localColumnVisibility: Record): boolean; /** * Determines whether the order of one or multiple columns has changed. * @param columnOrderToReset - The column order state that is used to reset. * @param localColumnOrder - The current column order state in the settings.. * @returns `true` if the order has changed for at least one column, `false` otherwise. * @internal */ export declare function getHasColumnOrderChanged(columnOrderToReset: string[] | undefined, localColumnOrder: string[]): boolean;