// Type definitions for react-autosuggest v3.7.3 // Project: http://react-autosuggest.js.org/ // Definitions by: Nicolas Schmitt // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// declare namespace ReactAutosuggest { import React = __React; interface SuggestionUpdateRequest { value: string; reason: string; } interface InputValues { value: string; valueBeforeUpDown?: string; } interface InputProps extends React.HTMLAttributes { value: string; onChange: (event: React.FormEvent, params?: {newValue: string, method: string}) => void; } interface ExplicitSuggestionSelectedEventData { method: string; sectionIndex: number; suggestion: TSuggestion; suggestionValue: string; } interface SuggestionSelectedEventData extends ExplicitSuggestionSelectedEventData { } interface Theme { container: string; containerOpen: string; input: string; sectionContainer: string; sectionSuggestionsContainer: string; sectionTitle: string; suggestion: string; suggestionFocused: string; suggestionsContainer: string; } interface AutosuggestProps extends React.Props { suggestions: any[]; onSuggestionsUpdateRequested?: (request: SuggestionUpdateRequest) => void; getSuggestionValue: (suggestion: any) => string; renderSuggestion: (suggestion: any, inputValues: InputValues) => JSX.Element; inputProps: InputProps; shouldRenderSuggestions?: (value: string) => boolean; multiSection?: boolean; renderSectionTitle?: (section: any, inputValues: InputValues) => JSX.Element; getSectionSuggestions?: (section: any) => any[]; onSuggestionSelected?: (event: React.FormEvent, data: SuggestionSelectedEventData | ExplicitSuggestionSelectedEventData) => void; focusInputOnSuggestionClick?: boolean; theme?: Theme; id?: string; } class Autosuggest extends React.Component {} } declare module 'react-autosuggest' { import Autosuggest = ReactAutosuggest.Autosuggest; export = Autosuggest; }