import { AdvancedFilterConfig } from '../../types/filter'; /** * Estado de la tabla que se sincroniza con queries */ export interface TableQueryState { page: number; pageSize: number; sortField?: string; sortDirection?: 'asc' | 'desc'; filters: AdvancedFilterConfig[]; search?: string; } /** * Acciones para modificar el estado de la tabla */ export interface TableQueryActions { setPage: (page: number) => void; setPageSize: (pageSize: number) => void; setSort: (field: string | undefined, direction?: 'asc' | 'desc') => void; setFilters: (filters: AdvancedFilterConfig[]) => void; addFilter: (filter: AdvancedFilterConfig) => void; removeFilter: (filterId: string) => void; clearFilters: () => void; setSearch: (search: string) => void; reset: () => void; } /** * Opciones iniciales para el estado de la tabla */ export interface UseTableQueryStateOptions { initialPage?: number; initialPageSize?: number; initialSortField?: string; initialSortDirection?: 'asc' | 'desc'; initialFilters?: AdvancedFilterConfig[]; initialSearch?: string; } /** * Hook para gestionar el estado de la tabla que se sincroniza con TanStack Query * Maneja paginación, ordenamiento, filtros y búsqueda */ export declare function useTableQueryState(options?: UseTableQueryStateOptions): TableQueryState & TableQueryActions; /** * Hook para convertir el estado de la tabla en columnas con estado de sort/filter */ export declare function useColumnsWithQueryState(columns: T[], state: Pick): (T & { sortDirection: "desc" | "asc" | null | undefined; filterActive: boolean; })[]; //# sourceMappingURL=useTableQuery.d.ts.map