import { Feature, GeoJsonProperties, LineString } from 'geojson'; import { MapboxIsochroneResponse } from '../Mapbox/getIsochrone'; export type RoutingProfile = "driving" | "walking" | "cycling"; export interface Destination { id: number | string; coords: [number, number]; } export interface NearestResult { distance: number; id: number | string; point: [number, number]; } export type RouteFeature = Feature; export interface MapRoutingProvider { getItinerary(from: [number, number], to: [number, number], profile?: string): Promise; findNearest(from: [number, number], destinations: Destination[], profile?: RoutingProfile, maxDistanceMeters?: number): Promise; getIsochrone?(from: [number, number], profile?: RoutingProfile, intervals?: number[]): Promise; } export interface Destination { id: number | string; coords: [number, number]; } export interface NearestResult { distance: number; id: number | string; point: [number, number]; }