import React, { ReactNode } from 'react'; import { GetSuggestionValue, OnSuggestionsClearRequested, OnSuggestionSelected, RenderSuggestion, SuggestionsFetchRequested } from 'react-autosuggest'; import { WidthProps } from 'styled-system'; import { SearchBoxVariantType } from './SearchBoxWrapper'; export interface GroupedSuggestions { title: string; suggestions: S[]; } export interface SearchBoxProps extends WidthProps { variant: SearchBoxVariantType; placeholder: string; isLoading: boolean; defaultValue?: string; multiSection?: boolean; suggestions: GroupedSuggestions[] | S[] | null; getSuggestionValue: GetSuggestionValue; handleSuggestionFetchRequested: SuggestionsFetchRequested; handleSuggestionClearRequested: OnSuggestionsClearRequested; renderSuggestion: RenderSuggestion; renderSuggestionsEmpty?: React.ReactNode; onSelect: OnSuggestionSelected; clearOnSelect?: boolean; onSearchTermChange?: (term: string) => void; children?: ReactNode; } declare function SearchBox({ variant: variantProp, placeholder, defaultValue, multiSection, isLoading, renderSuggestion, renderSuggestionsEmpty: SuggestionsEmpty, suggestions, onSelect, clearOnSelect, onSearchTermChange, getSuggestionValue, handleSuggestionFetchRequested, handleSuggestionClearRequested, }: SearchBoxProps): React.JSX.Element; export default SearchBox;