import { ChangeEvent, ComponentType, MouseEventHandler, ReactNode } from 'react'; import { AutocompleteProps } from '@material-ui/lab'; import { InputProps as MuiInputProps } from '@material-ui/core'; type SearchProps = { onChange: (event: ChangeEvent<{}>, selected: any | any[] | null) => void; value?: object | object[]; options?: { label?: string; id: string; group?: string; }[]; AutocompleteProps?: { getOptionDisabled?: (option: any) => boolean; forcePopupIcon?: boolean; }; allChecked?: boolean; TextFieldProps?: { label?: string; endAdornment?: ReactNode; }; selectedGroup?: { name?: string; id?: string; }; onGroupReset?: MouseEventHandler; onClose?: () => void; disableClearable?: boolean; /** * MUI Autocomplete triggers onInputChange when startAdornment is changed (via selectedGroup update). * If disableResetOnGroupChange is true, we won't store a new value in onInputChange when the 'reason' is "reset". * Additionally, handleSelectedGroupChange won't trigger handleInputReset if disableResetOnGroupChange is true. */ disableResetOnGroupChange?: boolean; onInputChange?: (value: string) => void; getOptionLabel?: (option: any) => string; onGroupChange?: (group?: { name?: string; id?: string; }) => void; loading?: boolean; disabled?: boolean; multiple?: boolean; optionSize?: 'large'; popupIcon?: ReactNode; InputProps?: Partial; ListboxProps?: object; classes?: Partial<{ popper: string; listbox: string; popupIndicator: string; popupIndicatorOpen: string; groupChip: string; } & Record>; onInputChangeCallback?: (newInputValue: string, reason: string) => void; placeholder?: string; RecentSearchesComponent?: ComponentType; ListboxComponent?: any; recentSearchesMaxCount?: number; dataStorageKey?: string; dataStorage?: object; groups?: { id: string; name: string; }[]; GroupsComponent?: ComponentType<{ onGroupClick: (id: string) => void; groups: { id: string; name: string; }[]; }>; onOpen?: (e?: any) => void; renderCustomOption?: (option: any, state: any) => ReactNode; onInputReset?: () => void; isHiddenAllOption?: boolean; isHiddenAllLabel?: boolean; paperFooter?: ReactNode; isOpenedFromParent?: boolean; popperProps?: Partial<{ style: object; }>; onFocus?: () => void; inputProps?: object; noOptionsText?: string; isPrioritizedSelectedOptions?: boolean; /** * There is a check if it is multiple search then we should keep input value on autocomplete change * But now there is another case, when we should reset input value on autocomplete change * This new prop allows to have both options */ shouldResetInputOnAutocompleteChange?: boolean; } & Omit, 'value' | 'onChange' | 'options' | 'onClose' | 'disableClearable' | 'onInputChange' | 'getOptionLabel' | 'loading' | 'disabled' | 'multiple' | 'popupIcon' | 'ListboxProps' | 'classes' | 'placeholder' | 'ListboxComponent' | 'onOpen' | 'onFocus' | 'inp' | 'noOptionsText' | 'renderInput' | 'PopperComponent' | 'open' | 'forcePopupIcon' | 'fullWidth' | 'renderGroup' | 'disableCloseOnSelect' | 'renderOption' | 'groupBy' | 'PaperComponent' | 'inputValue' | 'getOptionDisabled' | 'loadingText' | 'InputProps' | 'isNullable'>; export declare const Search: { ({ AutocompleteProps, value, disableClearable, onChange, onInputChange, loading, options, optionSize, placeholder, onGroupChange, disabled, disableResetOnGroupChange, multiple, groups, GroupsComponent, recentSearchesMaxCount, dataStorageKey, RecentSearchesComponent, dataStorage, onInputReset, getOptionLabel, TextFieldProps, ListboxProps, onInputChangeCallback, renderCustomOption, isHiddenAllOption, isHiddenAllLabel, onOpen, selectedGroup, onGroupReset, onClose, popperProps, paperFooter, noOptionsText, ListboxComponent, isPrioritizedSelectedOptions, isOpenedFromParent, onFocus, InputProps, classes, popupIcon, shouldResetInputOnAutocompleteChange, ...props }: SearchProps): JSX.Element; Groups: ({ onGroupClick, groups }: { onGroupClick: (id: string) => void; groups: { id: string; name: string; }[]; }) => JSX.Element; }; export default Search; //# sourceMappingURL=Search.d.ts.map