import { TypeaheadOption } from '../../typeahead/typeahead';
export type FilterFunction = (it: TypeaheadOption, searchValue: string, searchFields: string[]) => boolean;
export declare const defaultFilter: FilterFunction;
/**
 * Values that start with a search pattern, should come first in the list of filtered typeahead option
 */
export declare const prioritizeStartsWithValue: (optionA: TypeaheadOption, optionB: TypeaheadOption, searchFields: string[], searchPattern: string) => number;
/**
 * Filters a list of options with searchValue
 *
 * @param {array} options - An array of objects which should be filtered.
 * @param {string} searchValue - String value to match against, used as a search query.
 * @param {array} searchFields - An array of keys which should be checked on each options object.
 * @param {func} filterFunction - Custom predicate function for filtering
 * @returns {array} - Options array filtered by the search query.
 */
export default function useFilterOptions(options: TypeaheadOption[], searchValue: string, searchFields: string[], filterFunction?: FilterFunction): TypeaheadOption[];
