import { FilterConditionOperator } from '../../../deprecated/advanced-filter/types';
import { FilterInputMode } from '../../../types';
/**
 * Custom hook to manage filter state (operator, value, search text)
 * @param value - External controlled value (optional)
 * @param operator - External controlled operator (optional)
 * @param mode - Filter mode ('single' or 'multi')
 * @returns Filter state and derived values
 */
declare const useDataTableFilterState: <T extends object>(value?: T[keyof T][], operator?: FilterConditionOperator, mode?: FilterInputMode) => {
    selectedOperator: FilterConditionOperator;
    setSelectedOperator: import('react').Dispatch<import('react').SetStateAction<FilterConditionOperator>>;
    selectedValue: T[keyof T][];
    setSelectedValue: import('react').Dispatch<import('react').SetStateAction<T[keyof T][]>>;
    searchText: string;
    setSearchText: import('react').Dispatch<import('react').SetStateAction<string>>;
    internalValue: T[keyof T][];
    internalOperator: FilterConditionOperator;
    isFilterActive: false | FilterConditionOperator;
    isSingleMode: boolean;
};
export default useDataTableFilterState;
