import { ExportOptions, PaginationOptions, PivotExportData, PivotValueField, SelectionBounds, SourceData, XlsxExportOptions } from '@smallwebco/tinypivot-core'; import { Ref } from 'vue'; export { copyToClipboard, exportPivotToCSV, exportPivotToXLSX, exportToCSV, exportToXLSX, formatSelectionForClipboard, }; /** * CSV Export functionality wrapper */ declare function exportToCSV>(data: T[], columns: string[], options?: ExportOptions): void; /** * Pivot CSV export wrapper */ declare function exportPivotToCSV(pivotData: PivotExportData, rowFields: string[], columnFields: string[], valueFields: PivotValueField[], options?: ExportOptions): void; /** * XLSX export wrapper */ declare function exportToXLSX>(data: T[], columns: string[], options?: XlsxExportOptions): Promise; /** * Pivot XLSX export wrapper */ declare function exportPivotToXLSX(pivotData: PivotExportData, rowFields: string[], columnFields: string[], valueFields: PivotValueField[], options?: XlsxExportOptions, sourceData?: SourceData): Promise; /** * Copy to clipboard wrapper */ declare function copyToClipboard(text: string, onSuccess?: () => void, onError?: (err: Error) => void): void; /** * Format selection for clipboard wrapper */ declare function formatSelectionForClipboard>(rows: T[], columns: string[], selectionBounds: SelectionBounds): string; /** * Pagination composable */ export declare function usePagination(data: Ref, options?: PaginationOptions): { pageSize: Ref; currentPage: Ref; totalPages: import('vue').ComputedRef; paginatedData: import('vue').ComputedRef; startIndex: import('vue').ComputedRef; endIndex: import('vue').ComputedRef; goToPage: (page: number) => void; nextPage: () => void; prevPage: () => void; firstPage: () => void; lastPage: () => void; setPageSize: (size: number) => void; }; /** * Global search/filter composable */ export declare function useGlobalSearch>(data: Ref, columns: Ref): { searchTerm: Ref; caseSensitive: Ref; filteredData: import('vue').ComputedRef; clearSearch: () => void; }; /** * Row selection composable */ export declare function useRowSelection(data: Ref): { selectedRowIndices: Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>; selectedRows: import('vue').ComputedRef; allSelected: import('vue').ComputedRef; someSelected: import('vue').ComputedRef; toggleRow: (index: number) => void; selectRow: (index: number) => void; deselectRow: (index: number) => void; selectAll: () => void; deselectAll: () => void; toggleAll: () => void; isSelected: (index: number) => boolean; selectRange: (startIndex: number, endIndex: number) => void; }; /** * Column resizing composable */ export declare function useColumnResize(initialWidths: Ref>, minWidth?: number, maxWidth?: number): { columnWidths: Ref, Record>; isResizing: Ref; resizingColumn: Ref; startResize: (columnId: string, event: MouseEvent) => void; resetColumnWidth: (columnId: string) => void; resetAllWidths: () => void; }; //# sourceMappingURL=useGridFeatures.d.ts.map