import { ComboboxItem } from '@mantine/core'; import { VTableSortInfo } from '@/types/models/v-table-sort-info'; import { VTableProps } from './VTable'; export interface VTableContextValue extends Pick, 'columns' | 'data' | 'emptyStateDescription' | 'emptyStateTitle' | 'idKey' | 'loading' | 'onRowClick' | 'getRowUrl' | 'isRowCollapsible' | 'renderCollapsed' | 'collapsedViewType' | 'renderHeaderActions' | 'selection' | 'title' | 'withCollapsible' | 'withMultipleCollapse' | 'withPagination' | 'withSelection' | 'withServerPagination' | 'withSingleSelection' | 'withinModal'> { isEmpty: boolean; isCardView: boolean; checked: boolean; indeterminate: boolean; onChange: () => void; disabled: boolean; sortState: VTableSortInfo | null; sortOptions?: ComboboxItem[]; handleSort?: (sortInfo: VTableSortInfo) => void; paginatedData: T[]; currentPage: number; totalPages: number; totalElements: number; currentPageSize: number; handlePageChange: (page: number) => void; handlePageSizeChange: (pageSize: number) => void; toggleRow: (row: T, rowIndex: number, event: React.MouseEvent) => void; toggleCurrentPage: () => void; isCurrentPageSelected: boolean; isCurrentPageIndeterminate: boolean; renderFilterSection?: React.ReactNode; } export declare const VTableContext: import("react").Context | undefined>; export declare function useVTableContext(): VTableContextValue;