import { type Cell, type CellData, type ColumnHelper, type Header, type RowData, type RowModel, type Table, type TableFeatures } from '@tanstack/react-table'; import type { DataTableAlignmentColumnDef } from './ColumnAlignment.js'; import type { DataTableColumnFontStyleColumn, DataTableColumnFontStyleInstance, DataTableColumnFontStyleOptions, DataTableColumnFontStyleTableState } from './ColumnFontStyle/column-font-style-types.js'; import { DataTableColumnFontStyleFeature } from './ColumnFontStyle/ColumnFontStyle.js'; import type { DataTableColumnOrderHeader, DataTableColumnOrderInstance, DataTableColumnOrderOptions, DataTableColumnOrderState } from './ColumnOrder/column-order-types.js'; import { DataTableColumnOrderFeature } from './ColumnOrder/ColumnOrder.js'; import type { DataTableColumnPinningColumn, DataTableColumnPinningHeader, DataTableColumnPinningInstance, DataTableColumnPinningOptions, DataTablePinnedColumnState } from './ColumnPinning/column-pinning-types.js'; import { DataTableColumnPinningFeature } from './ColumnPinning/ColumnPinning.js'; import type { DataTableColumnSizingHeader, DataTableColumnSizingTableState } from './ColumnSizing/column-sizing-types.js'; import { DataTableColumnSizingFeature } from './ColumnSizing/ColumnSizing.js'; import type { DataTableColumnType, DataTableGanttColumnConfig, DataTableLogContentColumnConfig, DataTableMarkdownColumnConfig, DataTableMeterbarColumnConfig, DataTableSparklineColumnConfig, DataTableTextColumnConfig } from './ColumnTypes/column-types-types.js'; import type { DataTableColumnVisibilityColumn, DataTableColumnVisibilityInstance, DataTableVisibilityOptions } from './ColumnVisibility/column-visibility-types.js'; import { DataTableColumnVisiblityFeature } from './ColumnVisibility/ColumnVisibility.js'; import type { DataTableCustomHeaderColumnDef } from './CustomHeader.js'; import type { DataTableDownloadDataCell, DataTableDownloadDataHeader, DataTableDownloadDataInstance, DataTableDownloadDataOptions } from './Download/download-types.js'; import { DataTableDownloadDataFeature } from './Download/Download.js'; import type { DataTableGanttChartInstance, DataTableGanttChartState } from './GanttChart/gantt-chart-types.js'; import { DataTableGanttChartFeature } from './GanttChart/GanttChart.js'; import type { DataTableLayoutColumn, DataTableLayoutColumnDef, DataTableLayoutHeader, DataTableLayoutInstance, DataTableLayoutOptions, DataTableLayoutRow, DataTableLayoutTableState } from './Layout/layout-types.js'; import { DataTableTableLayoutFeature } from './Layout/Layout.js'; import type { DataTableLineWrapColumn, DataTableLineWrapInstance, DataTableLineWrapOptions, DataTableLineWrapTableState } from './LineWrap/line-wrap-types.js'; import { DataTableColumnLineWrapFeature } from './LineWrap/LineWrap.js'; import type { DataTableLoadingState } from './LoadingState/loading-state-types.js'; import { DataTableLoadingStateFeature } from './LoadingState/LoadingState.js'; import type { DataTableMeterbarChartState } from './MeterBarChart/meterbar-chart-types.js'; import { DataTableMeterBarChartColumnTypeFeature } from './MeterBarChart/MeterBarChart.js'; import type { DataTablePaginationInstance, DataTablePaginationOptions, DataTablePaginationTableState } from './Pagination/pagination-types.js'; import { DataTableRowPaginationFeature } from './Pagination/Pagination.js'; import type { DataTableRowDetailsInstance, DataTableRowDetailsOptions, DataTableRowDetailsRow, DataTableRowDetailsState } from './RowDetails/row-details-types.js'; import { DataTableRowDetailsFeature } from './RowDetails/RowDetails.js'; import type { DataTableRowIdentificationOptions } from './RowIdentification/row-identification-types.js'; import type { DataTableRowInteractivityInstance, DataTableRowInteractivityOptions, DataTableRowInteractivityRow, DataTableRowInteractivityState } from './RowInteractivity/row-interactivity-types.js'; import { DataTableRowInteractivityFeature } from './RowInteractivity/RowInteractivity.js'; import type { DataTableRowOrderInstance, DataTableRowOrderOptions, DataTableRowOrderRow, DataTableRowOrderState } from './RowOrder/row-order-types.js'; import { DataTableRowOrderFeature } from './RowOrder/RowOrder.js'; import type { DataTableRowSelectionInstance, DataTableRowSelectionOptions, DataTableRowSelectionRow } from './RowSelection/row-selection-types.js'; import { DataTableRowSelectionFeature } from './RowSelection/RowSelection.js'; import type { DataTableCustomSortingFn, DataTableSortingColumnDef, DataTableSortingHeader, DataTableSortingOptions, DataTableSortingRow } from './Sorting/sorting-types.js'; import { DataTableRowSortingFeature } from './Sorting/Sorting.js'; import type { DataTableSubRowsInstance, DataTableSubRowsOptions, DataTableSubRowsRow } from './SubRows/sub-rows-types.js'; import { DataTableRowSubRowsFeature } from './SubRows/SubRows.js'; import type { DataTableRowThresholdOptions, DataTableThresholdCell, DataTableThresholdColumn, DataTableThresholdColumnDef, DataTableThresholdRow } from './Thresholds/threshold-types.js'; import { DataTableRowThresholdsFeature } from './Thresholds/Thresholds.js'; import type { TDataTableFeatures } from './types/features.types.js'; import type { DataTableUserActionColumnDef, DataTableUserActionsCell, DataTableUserActionsColumn, DataTableUserActionsInstance, DataTableUserActionsOptions, DataTableUserActionsState } from './UserActions/user-actions-types.js'; import { DataTableUserActionsFeature } from './UserActions/UserActions.js'; import type { DataTableVirtualScrollingInstance } from './VirtualScrolling/virtual-scrolling-types.js'; import { DataTableVirtualScrollingFeature } from './VirtualScrolling/VirtualScrolling.js'; import type { DataTableVisualVariantTableInstance, DataTableVisualVariantTableState } from './VisualVariants/visual-variants-types.js'; import { DataTableVisualVariantFeature } from './VisualVariants/VisualVariants.js'; declare module '@tanstack/react-table' { interface ColumnDef_Plugins extends DataTableLayoutColumnDef, DataTableThresholdColumnDef, DataTableAlignmentColumnDef, DataTableSortingColumnDef, DataTableUserActionColumnDef, DataTableCustomHeaderColumnDef, DataTableUserActionColumnDef { /** * Defines the columnType for the column, which is used to determine the default cell renderer and other default features of the column. */ columnType?: DataTableColumnType; customSortingFn?: DataTableCustomSortingFn; } interface ColumnMeta { config?: DataTableSparklineColumnConfig | DataTableMeterbarColumnConfig | DataTableGanttColumnConfig | DataTableMarkdownColumnConfig | DataTableLogContentColumnConfig | DataTableTextColumnConfig; hasFormatter?: boolean; hasCustomCellRenderer?: boolean; hasCustomHeaderRenderer?: boolean; /** Specifies if the column is an automatically generated, internal one. */ /** * Defines if it is considered a spacer column. Most likely the last * one that makes sure the columns continue on. */ spacer?: boolean; /** Specifies if the column is a automatically generated internal one. */ builtin?: true; /** Specifies if the column is a builtin prefix or postfix. */ builtinPlacement?: 'prefix' | 'suffix'; /** * Font style defined based on column level. */ fontStyle?: 'text' | 'code'; /** * This is used to control the memoization on our custom header renderers. * The returned value will be bound as a string prop to the DataTableHeader component * in order to control the React.memo invalidation on the component. */ headerDeps?: (header: Header) => Array; /** * This is used to control the memoization on our custom cell renderers. * The returned value will be bound as a string prop to the DataTableCell component * in order to control the React.memo invalidation on the component. */ cellDeps?: (cell: Cell) => Array; } interface CreateRowModel_Plugins { rowOrderRowModel?: (table: Table) => () => RowModel; detailsRowModel?: (table: Table) => () => RowModel; } interface CachedRowModel_Plugins { rowOrderRowModel: () => RowModel; detailsRowModel: () => RowModel; } interface TableState_Plugins extends DataTableVisualVariantTableState, DataTableColumnSizingTableState, DataTablePaginationTableState, DataTableLineWrapTableState, DataTableColumnFontStyleTableState, DataTableLayoutTableState, DataTableVisualVariantTableState, DataTableLoadingState, DataTableRowInteractivityState, DataTableGanttChartState, DataTableMeterbarChartState, DataTableRowDetailsState, DataTableRowOrderState, DataTableUserActionsState, DataTablePinnedColumnState, DataTableColumnOrderState, DataTableGanttChartState { } interface Table_Plugins extends DataTableVisualVariantTableInstance, DataTableColumnFontStyleInstance, DataTableColumnOrderInstance, DataTableColumnPinningInstance, DataTableColumnVisibilityInstance, DataTableLayoutInstance, DataTableLineWrapInstance, DataTableRowDetailsInstance, DataTableRowInteractivityInstance, DataTableRowOrderInstance, DataTableRowSelectionInstance, DataTableSubRowsInstance, DataTableUserActionsInstance, DataTableVirtualScrollingInstance, DataTablePaginationInstance, DataTableDownloadDataInstance, DataTableGanttChartInstance { } interface Column_Plugins extends DataTableColumnFontStyleColumn, DataTableColumnVisibilityColumn, DataTableColumnPinningColumn, DataTableLayoutColumn, DataTableLineWrapColumn, DataTableThresholdColumn, DataTableUserActionsColumn { } interface Header_Plugins extends DataTableColumnOrderHeader, DataTableColumnPinningHeader, DataTableColumnSizingHeader, DataTableLayoutHeader, DataTableSortingHeader, DataTableDownloadDataHeader { } interface Row_Plugins extends DataTableRowDetailsRow, DataTableLayoutRow, DataTableRowInteractivityRow, DataTableRowOrderRow, DataTableRowSelectionRow, DataTableSortingRow, DataTableSubRowsRow, DataTableThresholdRow { } interface TableOptions_Plugins extends DataTableColumnFontStyleOptions, DataTableLayoutOptions, DataTableColumnOrderOptions, DataTableLineWrapOptions, DataTableColumnPinningOptions, DataTableRowIdentificationOptions, DataTableVisibilityOptions, DataTableRowInteractivityOptions, DataTableRowOrderOptions, DataTableRowSelectionOptions, DataTableSortingOptions, DataTableSubRowsOptions, DataTableRowThresholdOptions, DataTableUserActionsOptions, DataTablePaginationOptions, DataTableRowDetailsOptions, DataTableDownloadDataOptions { } interface Cell_Plugins extends DataTableThresholdCell, DataTableDownloadDataCell, DataTableUserActionsCell { } interface Plugins { DataTableVisualVariantFeature: typeof DataTableVisualVariantFeature; DataTableColumnFontStyleFeature: typeof DataTableColumnFontStyleFeature; DataTableColumnOrderFeature: typeof DataTableColumnOrderFeature; DataTableColumnPinningFeature: typeof DataTableColumnPinningFeature; DataTableColumnSizingFeature: typeof DataTableColumnSizingFeature; DataTableColumnVisiblityFeature: typeof DataTableColumnVisiblityFeature; DataTableTableLayoutFeature: typeof DataTableTableLayoutFeature; DataTableColumnLineWrapFeature: typeof DataTableColumnLineWrapFeature; DataTableRowDetailsFeature: typeof DataTableRowDetailsFeature; DataTableRowInteractivityFeature: typeof DataTableRowInteractivityFeature; DataTableRowOrderFeature: typeof DataTableRowOrderFeature; DataTableRowSelectionFeature: typeof DataTableRowSelectionFeature; DataTableRowSortingFeature: typeof DataTableRowSortingFeature; DataTableRowSubRowsFeature: typeof DataTableRowSubRowsFeature; DataTableRowThresholdsFeature: typeof DataTableRowThresholdsFeature; DataTableUserActionsFeature: typeof DataTableUserActionsFeature; DataTableVirtualScrollingFeature: typeof DataTableVirtualScrollingFeature; DataTableRowPaginationFeature: typeof DataTableRowPaginationFeature; DataTableDownloadDataFeature: typeof DataTableDownloadDataFeature; DataTableGanttChartFeature: typeof DataTableGanttChartFeature; DataTableLoadingStateFeature: typeof DataTableLoadingStateFeature; DataTableMeterBarChartColumnTypeFeature: typeof DataTableMeterBarChartColumnTypeFeature; } } export declare const DataTableFeatures: TDataTableFeatures; export declare const dataTableColumnHelper: ColumnHelper;