import { ColumnStats, DateRange, NumericRange, formatCellValue, getColumnUniqueValues, isDateRange, isNumericRange } from '@smallwebco/tinypivot-core'; import { ColumnFiltersState, SortingState, VisibilityState } from '@tanstack/vue-table'; import { Ref } from 'vue'; export { formatCellValue, getColumnUniqueValues, isDateRange, isNumericRange }; export interface ExcelGridOptions { data: Ref; columns?: string[]; enableSorting?: boolean; enableFiltering?: boolean; pageSize?: number; } /** * Create Excel-like grid composable */ export declare function useExcelGrid>(options: ExcelGridOptions): { table: import('@tanstack/vue-table').Table; sorting: Ref<{ desc: boolean; id: string; }[], SortingState | { desc: boolean; id: string; }[]>; columnFilters: Ref<{ id: string; value: unknown; }[], ColumnFiltersState | { id: string; value: unknown; }[]>; columnVisibility: Ref; globalFilter: Ref; columnKeys: import('vue').ComputedRef; filteredRowCount: import('vue').ComputedRef; totalRowCount: import('vue').ComputedRef; activeFilters: import('vue').ComputedRef<({ column: string; type: "range"; range: NumericRange; dateRange: DateRange | null; values: string[]; } | { column: string; type: "dateRange"; range: NumericRange | null; dateRange: DateRange; values: string[]; } | { column: string; type: "values"; values: string[]; range: NumericRange | null; dateRange: DateRange | null; })[]>; getColumnStats: (columnKey: string) => ColumnStats; clearStatsCache: () => void; hasActiveFilter: (columnId: string) => boolean; setColumnFilter: (columnId: string, values: string[]) => void; getColumnFilterValues: (columnId: string) => string[]; clearAllFilters: () => void; toggleSort: (columnId: string) => void; getSortDirection: (columnId: string) => 'asc' | 'desc' | null; setNumericRangeFilter: (columnId: string, range: NumericRange | null) => void; getNumericRangeFilter: (columnId: string) => NumericRange | null; setDateRangeFilter: (columnId: string, range: DateRange | null) => void; getDateRangeFilter: (columnId: string) => DateRange | null; }; //# sourceMappingURL=useExcelGrid.d.ts.map