import { Filter, FilterValue } from '../../../shared/types/filters';
export interface UseFiltersProps {
    filters: Filter[];
    onClear?: () => void;
    onApply?: (filterStates: Record<string, FilterValue>) => void;
}
export interface UseFiltersReturn {
    filterStates: Record<string, FilterValue>;
    handleFilterChange: (filterLabel: string, newValue: FilterValue, filter: Filter) => void;
    handleClear: () => void;
    handleApply: () => void;
}
export declare const FILTER_TYPES: {
    readonly DROPDOWN: "dropdown";
    readonly MULTIPLE: "multiple";
    readonly INPUT: "input";
    readonly DATE: "date";
    readonly DATE_RANGE: "dateRange";
    readonly TEXTAREA: "textarea";
    readonly GROUP: "group";
};
/**
 * Hook personalizado para manejar filtros con estado interno
 * @param filters - Array de filtros a manejar
 * @param onClear - Callback opcional para limpiar filtros
 * @param onApply - Callback opcional para aplicar filtros
 * @returns Objeto con estado y funciones para manejar filtros
 */
export declare const useFilters: ({ filters, onClear, onApply }: UseFiltersProps) => UseFiltersReturn;
//# sourceMappingURL=useFilters.d.ts.map