import { type RowData, type Table, type TableFeature, type Cell, type CellData, type Header, type Column } from '@tanstack/react-table'; import type { TDataTableFeatures } from '../types/features.types.js'; import type { DataTableDownloadHeaderContext, DataTableDownloadSlotProps } from './download-types.js'; /** * DataTable slot definition for the Download action. * Columns may be optionally excluded from downloading by their IDs. * @public */ export declare function DataTableDownload(props: DataTableDownloadSlotProps): null; /** * Helper function to extract the header nesting segments for a leaf column, from outermost group to leaf. * Falls back to the header id when the column header is a custom renderer or undefined. * @internal */ export declare function header_getDownloadHeaderPath(header: Header): string[]; export declare function header_getDownloadString(header: Header): string; /** * Converts a column value to its CSV string representation, with special handling * for dates, meter bars, and objects. * * Takes the value and its column rather than a cell so the caller can read values * through column accessors without building a cell object per value. * @internal */ export declare function getDownloadString(cellValue: TValue, column: Column): string; /** * Converts a cell's value to its CSV string representation with special handling for dates, meter bars, and objects. * @internal */ export declare function cell_getDownloadString(cell: Cell): string; /** * Triggers a CSV download of all table rows, excluding built-in and sparkline columns. * @internal */ export declare function table_downloadAllData(table: Table, excludeColumns?: string[], formatDownloadHeader?: (context: DataTableDownloadHeaderContext) => string | undefined, fileName?: string | ((subset: 'all' | 'page' | 'selected') => string), onDownloadEnd?: () => void): void; /** * Triggers a CSV download of the current page's rows, excluding built-in and sparkline columns. * @internal */ export declare function table_downloadPageData(table: Table, excludeColumns?: string[], formatDownloadHeader?: (context: DataTableDownloadHeaderContext) => string | undefined, fileName?: string | ((subset: 'all' | 'page' | 'selected') => string), onDownloadEnd?: () => void): void; /** * Triggers a CSV download of the currently selected rows, excluding built-in and sparkline columns. * @internal */ export declare function table_downloadSelectedData(table: Table, excludeColumns?: string[], formatDownloadHeader?: (context: DataTableDownloadHeaderContext) => string | undefined, fileName?: string | ((subset: 'all' | 'page' | 'selected') => string), onDownloadEnd?: () => void): void; /** * Constructs the download feature for the table, including API implementations and prototype assignments. * @internal */ export declare function constructDownloadDataFeature(): TableFeature; /** * TanStack Table feature that provides CSV download functionality. * @internal */ export declare const DataTableDownloadDataFeature: TableFeature; //# sourceMappingURL=Download.d.ts.map