import { ChangeEvent, FocusEvent, KeyboardEvent } from 'react';
import { FilterField } from '../../types';
/**
 * Hook manejador de eventos para el componente InputFilter
 */
declare function useInputFilter(): {
    /**
     * Si es esqueleto mostrar la versión de esqueleton
     */
    isSkeleton: boolean;
    /**
     * Texto de placeholder del inputFilter
     */
    inputPlaceHolder: string;
    /**
     * Texto del inputFilter
     */
    inputData: string;
    /**
     * Props para el handler de eventos del inputFilter
     */
    inputHandlersProps: {
        /**
         * Evento de foco del inputFilter
         */
        onFocus: (_event: FocusEvent<HTMLInputElement>) => void;
        /**
         * Evento de cambio del inputFilter
         */
        onChange: (event: ChangeEvent<HTMLInputElement>) => void;
        /**
         * Evento de teclado del inputFilter
         */
        onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
    };
    /**
     * Si no hay campos disponibles y no se permite filtrar por todos, no se renderiza el inputFilter
     */
    canRender: boolean;
    /**
     * Campos filtrados por el inputFilter
     */
    filteredFields: FilterField[];
    /**
     * Indice del campo seleccionado
     */
    selectedFieldIndex: number;
    /**
     * Setter de la referencia del elemento (inputFilter)
     */
    setElementRef: (ref: import('react').MutableRefObject<HTMLElement | null>) => void;
    /**
     * Indica si el menú de campos está abierto
     */
    isOpenPopoverMenuFields: boolean | undefined;
    /**
     * Indica si el popoverSort está abierto
     */
    isOpenPopoverFilter: boolean;
    /**
     * Handler del click en el IconButton trigger (abre/cierra el popover)
     */
    handleTriggerClick: () => void;
};
export default useInputFilter;
//# sourceMappingURL=useInputFilter.d.ts.map