import { ArchbaseActiveFilter, ArchbaseFilterDefinition, UseArchbaseFiltersOptions, UseArchbaseFiltersReturn } from '../ArchbaseCompositeFilters.types';
/**
 * Hook principal para gerenciamento de filtros com conversão RSQL
 *
 * @param filterDefinitions - Definições dos campos filtráveis
 * @param options - Opções de configuração
 * @returns Objeto com estado e ações para gerenciar filtros
 *
 * @example
 * ```ts
 * const filters: ArchbaseFilterDefinition[] = [
 *   { key: 'nome', label: 'Nome', type: 'text' },
 *   { key: 'idade', label: 'Idade', type: 'integer' }
 * ];
 *
 * const {
 *   activeFilters,
 *   rsqlQuery,
 *   addFilter,
 *   removeFilter,
 *   clearFilters
 * } = useArchbaseFilters(filters);
 * ```
 */
export declare function useArchbaseFilters(filterDefinitions: ArchbaseFilterDefinition[], options?: UseArchbaseFiltersOptions): UseArchbaseFiltersReturn;
/**
 * Hook simplificado para gerenciamento de filtros com valor controlado
 */
export declare function useArchbaseFiltersControlled(filterDefinitions: ArchbaseFilterDefinition[], value: ArchbaseActiveFilter[], onChange: (filters: ArchbaseActiveFilter[], rsql?: string) => void): Omit<UseArchbaseFiltersReturn, 'activeFilters' | 'rsqlQuery'> & {
    activeFilters: ArchbaseActiveFilter[];
    rsqlQuery: string | undefined;
};
