import { JSX } from 'react'; import { SearchBarProps } from '../../composite/SearchBar'; import { FiltersInstructions } from './types'; export interface FilterSearchBarProps extends Pick { /** * Array of instruction items to build the filters behaviors */ instructions: FiltersInstructions; /** * Callback function triggered when user interacts with the search input. * Implemented function should update the url query string / search params, * based on the new queryString received as argument. */ onUpdate: (queryString: string) => void; /** * Url query string to be parsed. * It must be "reactive", so most of the time it should come for router. */ queryString: string; /** * By default, we strip out all filters that are not part of the `instructions` array. * The option `predicateWhitelist` is used to whitelist a set of predicates that you want to use as filters. * * @example * ```jsx * useResourceFilters({ * instructions, * predicateWhitelist: [ 'starts_at_lteq', 'expires_at_gteq', 'starts_at_gt', 'expires_at_lt' ] * }) * ``` */ predicateWhitelist: string[]; } declare function FiltersSearchBar({ instructions, placeholder, onUpdate, queryString, predicateWhitelist, debounceMs, }: FilterSearchBarProps): JSX.Element; declare namespace FiltersSearchBar { var displayName: string; } export { FiltersSearchBar };