import * as React from "react"; import { SimpleInputProps } from "./Input"; type FocusEvent = ( event: React.KeyboardEvent | React.FocusEvent ) => void; export interface SearchBoxArgs { registerChange: (text: string) => void; onFocus: FocusEvent; value: string; } export interface TypeaheadProps { className?: string; searchBox?: ( args: SearchBoxArgs, props: TypeaheadProps ) => React.ReactNode; debounceTime?: number; onChange: (text: string, props: TypeaheadProps) => void; onSelect: ( value: OptionType | undefined, props: TypeaheadProps ) => void; dropdownClassName?: string; initialValue?: string; disabled?: boolean; errorMessage?: string; placeholder: string; loading?: boolean; selected?: OptionType; required?: boolean; valueExtractor: (value: OptionType) => string; onClear?: () => void; inputProps?: Omit; } export interface TypeaheadState { value: string; showSuggestions: boolean; }