import { FiltersInstructions } from './types'; export interface FiltersNavProps { /** * Array of instruction items to build the filters behaviors */ instructions: FiltersInstructions; /** * Url query string to be parsed. * It must be "reactive", so most of the time it should come for router. */ queryString: string; /** * Callback function triggered when user interacts with the filters buttons. * Implemented function should update the url query string / search params, * based on the new queryString received as argument. */ onUpdate: (newQueryString: string) => void; /** * Callback function triggered when user clicks on the "Edit filters" button. * Implemented function should open the filters form. */ onFilterClick: (queryString: string, filterPredicate?: string) => void; /** * 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[]; } export declare function FiltersNav({ instructions, onFilterClick: onBtnLabelClick, onUpdate, queryString, predicateWhitelist, }: FiltersNavProps): React.ReactNode;