///
import AbstractProvider, { EndpointArgument, ParseArgument, ProviderOptions, SearchArgument, SearchResult } from './provider';
import { LoaderOptions } from '@googlemaps/js-api-loader';
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 declare type GoogleProviderOptions = LoaderOptions & ProviderOptions;
export default class GoogleProvider extends AbstractProvider {
loader: Promise | null;
geocoder: google.maps.Geocoder | null;
constructor(options: GoogleProviderOptions);
endpoint({ query }: EndpointArgument): never;
parse(response: ParseArgument): SearchResult[];
search(options: SearchArgument): Promise[]>;
}