import React from 'react'; import { DropdownProps, InputProps } from 'reactstrap'; declare type Direction = 'up' | 'down'; declare type Option = { label: string; value: T; disabled?: boolean; }; declare type OptionGroup = { label: string; options: Option[]; }; interface ComboboxProps extends Omit { options: Option[] | OptionGroup[]; direction?: Direction; dropdownProps?: DropdownProps; noResultsLabel?: string; onChange?: (value?: T | T[]) => void; onCreate?: (str: string) => T; isValidNewOption?: (label: string) => boolean; filterOptions?: (options: Option[], value: string) => Option[]; renderOption?: (option: Option) => React.ReactNode; menuMaxHeight?: string; multi?: boolean; portalEl?: HTMLElement; } declare function Combobox({ className, direction, disabled, dropdownProps, inputClassName, options: optionsProp, placeholder, value, menuMaxHeight, multi, noResultsLabel, portalEl, onChange, onCreate, isValidNewOption, filterOptions, renderOption, ...props }: ComboboxProps): JSX.Element; declare namespace Combobox { var displayName: string; var defaultProps: { noResultsLabel: string; onChange: () => void; filterOptions: (o: Option[], v: any) => Option[]; isValidNewOption: () => boolean; renderOption: (option: Option) => string; }; } export default Combobox;