import AbstractProvider, { EndpointArgument, ParseArgument, ProviderOptions, ProviderParams, SearchResult, LatLng } from './provider'; export interface RequestResult { type: 'FeatureCollection'; features: RawResult[]; } export interface RawResult { type: 'Feature'; geometry: { type: 'Point'; coordinates: [number, number]; }; properties: { osm_type: string; osm_id: number; osm_key: string; osm_value: string; type: string; name?: string; housenumber?: string; street?: string; locality?: string; district?: string; postcode?: string; city?: string; county?: string; state?: string; country?: string; countrycode?: string; extent?: [number, number, number, number]; }; } export type PhotonProviderOptions = { host?: string; } & ProviderOptions; export default class PhotonProvider extends AbstractProvider { searchUrl: string; reverseUrl: string; constructor(options?: PhotonProviderOptions); endpoint({ query, type }: EndpointArgument): string; reverseParams({ lat, lng }: LatLng): ProviderParams; parse(response: ParseArgument): SearchResult[]; }