/// import AbstractProvider, { EndpointArgument, ParseArgument, ProviderOptions, SearchArgument, SearchResult } from './provider'; export interface RequestResult { results: google.maps.GeocoderResult[]; status?: google.maps.GeocoderStatus; } export interface GeocodeError { code: Exclude; endpoint: 'GEOCODER_GEOCODE'; message: string; name: 'MapsRequestError'; stack: string; } export interface GoogleProviderOptions extends ProviderOptions { apiKey: string; /** Maps JavaScript API version, sent as `v` */ version?: string; language?: string; region?: string; libraries?: string[]; mapIds?: string[]; authReferrerPolicy?: string; channel?: string; client?: string; solutionChannel?: string; /** @deprecated not supported by the 2.x loader, ignored */ id?: string; /** @deprecated ignored, the loader uses the nonce of a script on the page */ nonce?: string; /** @deprecated not supported by the 2.x loader, ignored */ retries?: number; /** @deprecated ignored, the API always loads from maps.googleapis.com */ url?: string; } export default class GoogleProvider extends AbstractProvider { loader: Promise | null; geocoder: google.maps.Geocoder | null; constructor(options: GoogleProviderOptions); endpoint(_args: EndpointArgument): never; parse(response: ParseArgument): SearchResult[]; search(options: SearchArgument): Promise[]>; }