import type { CategoryConfig } from '../../CheckBoxGroup/index';
export type FilterConfig = {
    key: string;
    label: string;
    categories: CategoryConfig[];
};
export type UseTableFilterOptions = {
    syncWithUrl?: boolean;
};
export type UseTableFilterReturn = {
    filterConfigs: FilterConfig[];
    activeFilters: Record<string, string[]>;
    hasActiveFilters: boolean;
    activeFiltersCount: number;
    updateFilters: (configs: FilterConfig[]) => void;
    applyFilters: () => void;
    clearFilters: () => void;
};
/**
 * Hook for managing table filters with URL synchronization
 *
 * @param initialConfigs - Initial filter configurations
 * @param options - Hook options including URL sync
 * @returns Filter state and management functions
 *
 * @example
 * ```tsx
 * const { filterConfigs, activeFilters, updateFilters, applyFilters } = useTableFilter(
 *   [
 *     {
 *       key: 'academic',
 *       label: 'Dados Acadêmicos',
 *       categories: [...]
 *     }
 *   ],
 *   { syncWithUrl: true }
 * );
 * ```
 */
export declare const useTableFilter: (initialConfigs: FilterConfig[], options?: UseTableFilterOptions) => UseTableFilterReturn;
//# sourceMappingURL=useTableFilter.d.ts.map