import type { TableFilterState, TableFilterValue } from './useTableFiltering';
export interface UseTableFilterStateResult {
    /** Current filter state — pass to useTableFiltering. */
    filters: TableFilterState;
    /** Filter change handler — pass to useTableFiltering. */
    onFilterChange: (key: string, value: TableFilterValue | null) => void;
    /** Reset all filters to empty. */
    clearAll: () => void;
}
/**
 * useTableFilterState — manages the filter state object.
 *
 * A convenience hook that bundles `useState<TableFilterState>` with a
 * correctly-typed `onFilterChange` handler. Eliminates the boilerplate of
 * writing the state update logic in every consumer.
 *
 * The returned `filters` and `onFilterChange` are passed directly to
 * `useTableFiltering`.
 *
 * @example
 * ```
 * const {filters, onFilterChange} = useTableFilterState();
 * const filterPlugin = useTableFiltering({
 *   filters,
 *   onFilterChange,
 *   variant: 'inline',
 *   searchConfig: config,
 * });
 * ```
 */
export declare function useTableFilterState(initialState?: TableFilterState): UseTableFilterStateResult;
//# sourceMappingURL=useTableFilterState.d.ts.map