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 { DataTableColumnOrderColumn, DataTableColumnOrderHeader, DataTableColumnOrderInstance, DataTableColumnOrderOptions, DataTableColumnOrderState } from './ColumnOrder/column-order-types.js'; import { DataTableColumnOrderFeature } from './ColumnOrder/ColumnOrder.js'; import type { DataTableColumnPinningColumn, DataTableColumnPinningHeader, DataTableColumnPinningInstance, DataTableColumnPinningOptions } 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_FeatureMap { DataTableTableLayoutFeature: DataTableLayoutColumnDef & DataTableAlignmentColumnDef & DataTableCustomHeaderColumnDef & { /** * Defines the columnType for the column, which is used to determine the default cell renderer and other default features of the column. */ columnType?: DataTableColumnType; }; DataTableRowThresholdsFeature: DataTableThresholdColumnDef; DataTableRowSortingFeature: DataTableSortingColumnDef & { customSortingFn?: DataTableCustomSortingFn; }; DataTableUserActionsFeature: DataTableUserActionColumnDef; } 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 CachedRowModels_FeatureMap { DataTableRowOrderFeature: { rowOrderRowModel?: () => RowModel; }; DataTableRowDetailsFeature: { detailsRowModel?: () => RowModel; }; } interface TableState_FeatureMap { DataTableVisualVariantFeature: DataTableVisualVariantTableState; DataTableColumnSizingFeature: DataTableColumnSizingTableState; DataTableRowPaginationFeature: DataTablePaginationTableState; DataTableColumnLineWrapFeature: DataTableLineWrapTableState; DataTableColumnFontStyleFeature: DataTableColumnFontStyleTableState; DataTableTableLayoutFeature: DataTableLayoutTableState; DataTableLoadingStateFeature: DataTableLoadingState; DataTableRowInteractivityFeature: DataTableRowInteractivityState; DataTableGanttChartFeature: DataTableGanttChartState; DataTableMeterBarChartColumnTypeFeature: DataTableMeterbarChartState; DataTableRowDetailsFeature: DataTableRowDetailsState; DataTableRowOrderFeature: DataTableRowOrderState; DataTableUserActionsFeature: DataTableUserActionsState; DataTableColumnOrderFeature: DataTableColumnOrderState; } interface Table_FeatureMap { DataTableVisualVariantFeature: DataTableVisualVariantTableInstance; DataTableColumnFontStyleFeature: DataTableColumnFontStyleInstance; DataTableColumnOrderFeature: DataTableColumnOrderInstance; DataTableColumnPinningFeature: DataTableColumnPinningInstance; DataTableColumnVisiblityFeature: DataTableColumnVisibilityInstance; DataTableTableLayoutFeature: DataTableLayoutInstance; DataTableColumnLineWrapFeature: DataTableLineWrapInstance; DataTableRowDetailsFeature: DataTableRowDetailsInstance; DataTableRowInteractivityFeature: DataTableRowInteractivityInstance; DataTableRowOrderFeature: DataTableRowOrderInstance; DataTableRowSelectionFeature: DataTableRowSelectionInstance; DataTableRowSubRowsFeature: DataTableSubRowsInstance; DataTableUserActionsFeature: DataTableUserActionsInstance; DataTableVirtualScrollingFeature: DataTableVirtualScrollingInstance; DataTableRowPaginationFeature: DataTablePaginationInstance; DataTableDownloadDataFeature: DataTableDownloadDataInstance; DataTableGanttChartFeature: DataTableGanttChartInstance; } interface Column_FeatureMap { DataTableColumnFontStyleFeature: DataTableColumnFontStyleColumn; DataTableColumnOrderFeature: DataTableColumnOrderColumn; DataTableColumnVisiblityFeature: DataTableColumnVisibilityColumn; DataTableColumnPinningFeature: DataTableColumnPinningColumn; DataTableTableLayoutFeature: DataTableLayoutColumn; DataTableColumnLineWrapFeature: DataTableLineWrapColumn; DataTableRowThresholdsFeature: DataTableThresholdColumn; DataTableUserActionsFeature: DataTableUserActionsColumn; } interface Header_FeatureMap { DataTableColumnOrderFeature: DataTableColumnOrderHeader; DataTableColumnPinningFeature: DataTableColumnPinningHeader; DataTableColumnSizingFeature: DataTableColumnSizingHeader; DataTableTableLayoutFeature: DataTableLayoutHeader; DataTableRowSortingFeature: DataTableSortingHeader; DataTableDownloadDataFeature: DataTableDownloadDataHeader; } interface Row_FeatureMap { DataTableRowDetailsFeature: DataTableRowDetailsRow; DataTableTableLayoutFeature: DataTableLayoutRow; DataTableRowInteractivityFeature: DataTableRowInteractivityRow; DataTableRowOrderFeature: DataTableRowOrderRow; DataTableRowSelectionFeature: DataTableRowSelectionRow; DataTableRowSortingFeature: DataTableSortingRow; DataTableRowSubRowsFeature: DataTableSubRowsRow; DataTableRowThresholdsFeature: DataTableThresholdRow; } interface TableOptions_FeatureMap { DataTableColumnFontStyleFeature: DataTableColumnFontStyleOptions; DataTableTableLayoutFeature: DataTableLayoutOptions; DataTableColumnOrderFeature: DataTableColumnOrderOptions; DataTableColumnLineWrapFeature: DataTableLineWrapOptions; DataTableColumnPinningFeature: DataTableColumnPinningOptions; DataTableColumnVisiblityFeature: DataTableVisibilityOptions; DataTableRowInteractivityFeature: DataTableRowInteractivityOptions; DataTableRowOrderFeature: DataTableRowOrderOptions & { rowOrderRowModel?: (table: Table) => () => RowModel; }; DataTableRowSelectionFeature: DataTableRowSelectionOptions & DataTableRowIdentificationOptions; DataTableRowSortingFeature: DataTableSortingOptions; DataTableRowSubRowsFeature: DataTableSubRowsOptions; DataTableRowThresholdsFeature: DataTableRowThresholdOptions; DataTableUserActionsFeature: DataTableUserActionsOptions; DataTableRowPaginationFeature: DataTablePaginationOptions; DataTableRowDetailsFeature: DataTableRowDetailsOptions & { detailsRowModel?: (table: Table) => () => RowModel; }; DataTableDownloadDataFeature: DataTableDownloadDataOptions; } interface Cell_FeatureMap { DataTableRowThresholdsFeature: DataTableThresholdCell; DataTableDownloadDataFeature: DataTableDownloadDataCell; DataTableUserActionsFeature: 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; //# sourceMappingURL=features.d.ts.map