/// import { Component, InputHTMLAttributes } from "react"; export default class Geosuggest extends Component { focus(): void; blur(): void; update(value: string): void; clear(): void; selectSuggest(value?: Suggest): void; } // Replace with Exclude once on 2.8+ export type Omit = Pick< T, ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never; [x: number]: never })[keyof T] >; export interface GeosuggestProps extends Omit, "style"> { placeholder?: string | undefined; initialValue?: string | undefined; className?: string | undefined; style?: Styles | undefined; inputClassName?: string | undefined; disabled?: boolean | undefined; location?: google.maps.LatLng | undefined; radius?: number | undefined; bounds?: google.maps.LatLngBounds | undefined; country?: string | string[] | undefined; types?: QueryType[] | undefined; fixtures?: Fixture[] | undefined; maxFixtures?: number | undefined; placeDetailFields?: string[] | undefined; googleMaps?: typeof google.maps | undefined; ignoreEnter?: boolean | undefined; ignoreTab?: boolean | undefined; queryDelay?: number | undefined; minLength?: number | undefined; highlightMatch?: boolean | undefined; onFocus?(value: any): void; onBlur?(value: any): void; onChange?(value: any): void; onKeyDown?(event: any): void; onKeyPress?(event: any): void; onSuggestSelect?(suggest: Suggest): void; onUpdateSuggests?(suggests: any, activeSuggest: any): void; onActivateSuggest?(suggest: Suggest): void; onSuggestNoResults?(userInput: string): void; getSuggestLabel?(googleSuggest: google.maps.places.AutocompletePrediction): string; renderSuggestItem?(googleSuggest: google.maps.places.AutocompletePrediction): any; skipSuggest?(googleSuggest: google.maps.places.AutocompletePrediction): boolean; autoActivateFirstSuggest?: boolean | undefined; label?: string | undefined; suggestsClassName?: string | undefined; suggestsHiddenClassName?: string | undefined; suggestItemClassName?: string | undefined; suggestItemActiveClassName?: string | undefined; autoComplete?: string | undefined; } export interface Styles { input?: Record | undefined; suggestItem?: Record | undefined; suggests?: Record | undefined; } export type QueryType = | "address" | "establishment" | "geocode" | "(cities)" | "(regions)"; export interface Fixture { className?: string | undefined; label: string; location?: google.maps.LatLng | undefined; } export interface Suggest { gmaps?: google.maps.GeocoderResult | undefined; label: string; location: { lat: number; lng: number }; placeId: string; }