import type { TableFeature, TableOptions } from '../../hooks/useTable/types.js'; import type { DataTableV2RowData } from '../../public.api.js'; /** * DataTableV2 props extensions for the download feature * @public */ export interface DataTableV2DownloadProps { /** * Called when table data was downloaded (programmatically or via the toolbar). * @param subset - indicates which data was downloaded (all data, current page, selected rows) */ onDownloadData?: (subset: 'all' | 'page' | 'selected') => void; } /** * Extension interface for the TanStack table instance. * @internal */ export interface DataTableV2DownloadDataInstance { downloadAllData: () => void; downloadPageData: () => void; downloadSelectedData: () => void; } /** * Extension interface for the TanStack table instance. * @internal */ export interface DataTableV2DownloadDataHeader { _getDownloadString: () => string; } /** * Extension interface for the TanStack table instance. * @internal */ export interface DataTableV2DownloadDataCell { _getDownloadString: () => string; } export interface DataTableV2DownloadDataOptions { onDownloadData?: DataTableV2DownloadProps['onDownloadData']; } /** * DataTableV2 slot definition for the Download action * @public */ export declare function DataTableV2Download(): null; export declare const DataTableV2DownloadData: TableFeature; /** * Configuration hook for download of the DataTableV2. * @internal */ export declare function useDownloadData(props: DataTableV2DownloadProps, options: TableOptions): void;