import { Filter, FilterValue } from '../types';
export { hasChangedFilter } from './value-compare';
/**
 * Returns an array of filters that are currently active (i.e., have a value set).
 */
export declare const getActiveFilters: (filters: Filter[]) => Filter[];
/**
 * Checks if any filters in the array have active values
 */
export declare const checkActiveFilters: (filters: Filter[]) => boolean;
/**
 * Resets all filters to their default state
 */
export declare const resetFilters: (filters: Filter[]) => Filter[];
/**
 * Updates a single filter in an array of filters
 */
export declare const updateSingleFilter: (filters: Filter[], filterId: string, value: FilterValue) => Filter[];
/**
 * Checks if the selection value of a filter has changed by comparing references.
 * Uses reference equality (===) to detect if the parent has provided a new value.
 */
export declare const hasFilterSelectionChanged: (existingFilter: Filter, newFilter: Filter) => boolean;
/**
 * Preserves the selection state from an existing filter into a new filter.
 * Used when filter configuration updates but the selection value reference hasn't changed.
 */
export declare const preserveFilterState: (newFilter: Filter, existingFilter: Filter) => Filter;
/**
 * Creates a deep clone of filters with updated item references.
 * Ensures that selected items reference the current items array for proper equality checks.
 */
export declare const cloneFiltersWithItemRefs: (filters: Filter[]) => Filter[];
