import { ReactNode, ReactElement } from 'react'; import { CustomSelectOptionOrArray } from 'bloko/blocks/customSelect'; import { CustomSelectOptionProps } from 'bloko/blocks/customSelect/CustomSelectOption'; export interface AsyncFilterFunctionType { (children: CustomSelectOptionOrArray, filterQuery: string): Promise>[]>; } interface UseFilteredOptionsProps { children: CustomSelectOptionOrArray; search?: boolean; searchPlaceholder?: string; title?: string; filterThrottleMs: number; asyncFilterFunction?: AsyncFilterFunctionType; } interface FilteredOptions { filteredOptions: ReactElement>[]; setFilterQuery: (value: string) => void; renderSearchField: () => ReactNode | false; } declare const useFilteredOptions: ({ children, search, searchPlaceholder, title, filterThrottleMs, asyncFilterFunction, }: UseFilteredOptionsProps) => FilteredOptions; export default useFilteredOptions;