import { type Ref } from 'vue'; import type { IColumnDefinition, IFilterCondition } from '../types'; import { type INormalizedColumn } from '../filter-strategies'; interface IColumnFilterState { value: string | number | boolean | undefined; condition: IFilterCondition; } interface IUseFilteringOptions { rows: Ref>>; columns: Ref; isServerMode: Ref; columnFilter: Ref; sortable: Ref; sortColumn: Ref; sortDirection: Ref; search: Ref; totalRows: Ref; } export declare function useFiltering(options: IUseFilteringOptions): { currentSearch: Ref; isOpenFilter: Ref; normalizedColumns: import("vue").ComputedRef; filteredRows: import("vue").ComputedRef[]>; filterRowCount: import("vue").ComputedRef; columnFilterState: import("vue").Reactive>; setFilterValue: (field: string, value: string | number | boolean | undefined) => void; setFilterCondition: (field: string, condition: IFilterCondition) => void; toggleFilterMenu: (field: string | null) => void; getColumnsWithFilterState: () => IColumnDefinition[]; resetFilters: () => void; }; export {};