import { BingProvider, ChainProvider, GeoPluginProvider, GoogleMapsProvider, LocationIQProvider, MapboxProvider, MapQuestProvider, NominatimProvider, OpenCageProvider, ProviderInterface, YandexProvider } from "./provider";
import Geocoded from "./Geocoded";
import { BingGeocoderProviderFactoryOptions, ChainGeocoderProviderFactoryOptions, GeoPluginGeocoderProviderFactoryOptions, GoogleMapsGeocoderProviderFactoryOptions, LocationIQGeocoderProviderFactoryOptions, MapboxGeocoderProviderFactoryOptions, MapQuestGeocoderProviderFactoryOptions, NominatimGeocoderProviderFactoryOptions, OpenCageGeocoderProviderFactoryOptions, ProviderOptionInterface, RestrictedProviderOptionInterface, YandexGeocoderProviderFactoryOptions } from "./GeocoderProviderFactory";
import type { ProviderName as GeocoderName } from "./GeocoderProviderFactory";
export declare type Geocoder = ProviderInterface<Geocoded>;
export type { GeocoderName };
export default class UniversalGeocoder {
    version: string;
    static createGeocoder(options: "chain" | ChainGeocoderProviderFactoryOptions): ChainProvider;
    static createGeocoder(options: "bing" | "bingmaps" | "microsoft" | BingGeocoderProviderFactoryOptions): BingProvider;
    static createGeocoder(options: "geoplugin" | GeoPluginGeocoderProviderFactoryOptions): GeoPluginProvider;
    static createGeocoder(options: "google" | "googlemaps" | GoogleMapsGeocoderProviderFactoryOptions): GoogleMapsProvider;
    static createGeocoder(options: "locationiq" | LocationIQGeocoderProviderFactoryOptions): LocationIQProvider;
    static createGeocoder(options: "mapbox" | MapboxGeocoderProviderFactoryOptions): MapboxProvider;
    static createGeocoder(options: "mapquest" | MapQuestGeocoderProviderFactoryOptions): MapQuestProvider;
    static createGeocoder(options: "nominatim" | "openstreetmap" | NominatimGeocoderProviderFactoryOptions): NominatimProvider;
    static createGeocoder(options: "opencage" | OpenCageGeocoderProviderFactoryOptions): OpenCageProvider;
    static createGeocoder(options: "yandex" | YandexGeocoderProviderFactoryOptions): YandexProvider;
    static createGeocoder<O extends RestrictedProviderOptionInterface>(options: GeocoderName | O): Geocoder;
    static createGeocoder<O extends ProviderOptionInterface>(options: string | O): ProviderInterface<Geocoded> | undefined;
}
//# sourceMappingURL=UniversalGeocoder.d.ts.map