import { type CellData, type ColumnDef, type Row, type RowData, type RowSelectionState, type Table_Internal, type TableFeature, type TableFeatures } from '@tanstack/react-table'; import type { RowSelectionFeatureConstructors } from './row-selection-types.js'; /** * Helper function to identify the ROW_SELECTION_COLUMN * @internal */ export declare function isRowSelectionColumnDef(column: ColumnDef): boolean; export declare function table_resetBatchSelection(table: Table_Internal): (event: MouseEvent) => void; /** * Helper function to get the row selection toggle handler for the "select all" checkbox in the header, which toggles the selection of all rows on the current page, taking into account any selection limits defined in the table options. * @internal */ export declare function table_getToggleAllLimitedRowsSelectedHandler(table: Table_Internal): (event: MouseEvent) => void; /** * Helper function to get the row selection toggle handler for the "select all" checkbox in the header, which toggles the selection of all rows on the current page, taking into account any selection limits defined in the table options. * @internal */ export declare function table_getToggleAllLimitedPageRowsSelectedHandler(table: Table_Internal): (event: MouseEvent) => void; /** * Helper function to get the count of currently selected rows in the table. * @internal */ export declare function table_getSelectionCount(table: Table_Internal): number; /** * Helper function to toggle the selection of all rows on the current page, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are affected. * @internal */ export declare function table_toggleAllPageRowsSelected(table: Table_Internal, value?: boolean): void; /** * Override TanStack's implementation to avoid de-selecting disabled rows * @internal */ export declare function table_toggleAllRowsSelected(table: Table_Internal, value?: boolean): void; export declare function table_toggleAllLimitedPageRowsSelected(table: Table_Internal, value?: boolean): void; /** * Helper function to toggle the selection of all rows in the table, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are affected. * @internal */ export declare function table_toggleAllLimitedRowsSelected(table: Table_Internal, value?: boolean): void; /** * Helper function to determine if the row selection limit defined in the table options has been reached, based on the current row selection state. * @internal */ export declare function table_getIsRowSelectionLimitReached(table: Table_Internal, rowSelectionState?: RowSelectionState): boolean; /** * Helper function to determine if all rows on the current page are selected, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are considered. * @internal */ export declare function table_getIsAllPageRowsSelected(table: Table_Internal): boolean; /** * Helper function to determine if all rows in the table are selected, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are considered. * @internal */ export declare function table_getIsAllRowsSelected(table: Table_Internal): boolean; /** * Helper function to determine if some (but not all) rows on the current page are selected, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are considered. * @internal */ export declare function table_getIsSomePageRowsSelected(table: Table_Internal): boolean; /** * Helper function to determine if some (but not all) rows in the table are selected, taking into account any selection limits defined in the table options, and ensuring that only selectable rows are considered. * @internal */ export declare function table_getIsSomeRowsSelected(table: Table_Internal): boolean; /** * Helper function to determine if the selection of all rows on the current page is disabled, based on the row selection state and configuration of each row, as well as any selection limits defined in the table options. * @internal */ export declare function table_getIsAllPageRowsSelectionDisabled(table: Table_Internal): boolean; /** * Helper function to determine if the selection of all rows in the table is disabled, based on the row selection state and configuration of each row, as well as any selection limits defined in the table options. * @internal */ export declare function table_getIsAllRowsSelectionDisabled(table: Table_Internal): boolean; /** * Helper function to determine if the selection of a specific row should be disabled, based on the row selection state and configuration of the row, as well as any selection limits defined in the table options. * @internal */ export declare function row_getShouldDisableRowSelection(row: Row): boolean; /** * Helper function to determine if a specific row can be selected, based on the configuration of the row and any selection limits defined in the table options. * @internal */ export declare function row_getCanSelect(row: Row): boolean; /** * Helper function to toggle the selection of a specific row, taking into account the configuration of the row and any selection limits defined in the table options. If the row is not selectable or selection is disabled, the function will have no effect. * @internal */ export declare function row_toggleSelected(row: Row, value?: boolean): void; /** * Override TanStack's implementation to include selected, but disabled rows * Helper function to determine if some (but not all) sub-rows of a specific row are selected, based on the selection state of the sub-rows, the configuration of the sub-rows, and any selection limits defined in the table options. * @internal */ export declare function row_getIsSomeSelected(row: Row): boolean; /** * Override TanStack's implementation to include selected, but disabled rows * Helper function to determine if all sub-rows of a specific row are selected, based on the selection state of the sub-rows, the configuration of the sub-rows, and any selection limits defined in the table options. * @internal */ export declare function row_getIsAllSubRowsSelected(row: Row): boolean; /** * Handles row selection/deselection with support for batch selection using Shift+click. If Shift is not pressed, * or no previous selection exists, the row is simply selected/deselected and becomes the reference for a possible batch selection. * If a batch selection reference exists, and the user selects a row while holding Shift, all rows in between are selected/deselected. * If the user then selects another row with the Shift pressed, the previous batch selection is removed, and only the new one is selected. * The batch selection reference is reset, once the user clicks anywhere in the table outside the checkboxes. * @internal */ export declare function row_batchSelect(row: Row, value?: boolean, shiftKey?: boolean): void; /** * Constructs the column row selection for the table, * including API implementations and prototype assignments. * @internal */ export declare function constructRowSelectionFeature(): TableFeature>; /** * Feature implementation for Row Selection. * @internal */ export declare const DataTableRowSelectionFeature: TableFeature>;