import { type CellData, type Column_Internal, type columnResizingState, type ColumnSizingState, type Header, type HeaderGroup, type Row, type RowData, type Table_Internal, type TableFeature, type TableFeatures } from '@tanstack/react-table'; import type { VirtualItem } from '@tanstack/react-virtual'; import type { TableLayoutFeatureConstructors } from './layout-types.js'; import type { DataTableVisualVariantTableState } from '../VisualVariants/visual-variants-types.js'; /** * Allows to get the gridPosition of a specific header cell in order * to place it into the correct place in the template and span it across the correct * elements. * @internal */ export declare function header_getGridPosition(header: Header, headers: Array>): { gridColumnStart: number; gridColumnEnd: string; gridRowStart: number; gridRowEnd: string; }; /** * Helper function to get the grid column position for a specific column based on its index in the column list. This is used for non-header cells, which are always rendered in the first row of the grid and should span only one column. * @internal */ export declare function column_getGridColumnPosition(column: Column_Internal, columnIndex?: number): { gridColumnStart: number; gridColumnEnd: string; }; /** * Helper function to get the grid row position for a specific row based on its index in the row list. This is used for all non-header cells, which should be rendered in the body of the table and span all columns. * @internal */ export declare function row_getGridRowPosition(row: Row, rowIndex?: number): { gridColumnStart: number; gridColumnEnd: string; gridRowStart: number; gridRowEnd: string; }; export declare function table_getHasFractionalTemplate(table: Table_Internal): boolean; export declare function table_getVisibleHeaderGroupsCount(table: Table_Internal): number; export declare function table_setObservedHeaderHeight(table: Table_Internal, height: number): void; export declare function table_getHeaderSize(table: Table_Internal, headerId: string): { width: number; height: number; }; export declare function table_getColumnOrHeaderWidth(table: Table_Internal, columnOrHeaderId: string): number; export declare function table_getTotalHeaderHeight(table: Table_Internal, visualVariantOptions: DataTableVisualVariantTableState['visualVariantConfig'], visibleLeafColumns: Array>, tableHeaderGroups: Array>, observedHeaderHeight: number): number; /** * Helper function to estimate the row height based on the row density and separation visual variants. This is used for the row virtualizer to estimate the height of rows that are not rendered yet. * @internal */ export declare function table_estimateRowHeight(table: Table_Internal, index: number | undefined, isHeaderRow: boolean | undefined, rowDensity: 'default' | 'condensed' | 'comfortable', rowSeparation: 'none' | 'horizontalDividers' | 'zebraStripes'): number; export declare function table_getHeaderGridTemplateRows(table: Table_Internal): "[body-start]" | "[header-start] max-content [header-end body-start]" | "[header-start] max-content max-content [header-end body-start]"; export declare function table_getGridTemplateRows(table: Table_Internal, virtualItems: VirtualItem[] | undefined): string; export declare function table_getGridTemplateColumns(table: Table_Internal, columnSizing: ColumnSizingState, columnResizing: columnResizingState): string; /** * Constructs the layout feature for the table, * including API implementations and prototype assignments. * @internal */ export declare function constructTableLayoutFeature(): TableFeature; /** * Additional feature implementation for table layout. * @internal */ export declare const DataTableTableLayoutFeature: TableFeature;