libre-routing
Version:
This library was generated with [Nx](https://nx.dev).
47 lines (46 loc) • 1.41 kB
TypeScript
import type { SelectRouteStrategy } from './here/here';
import type { GeoJSONSourceSpecification, LngLatBoundsLike } from 'maplibre-gl';
import type { FeatureCollection, Geometry, LineString } from '@turf/helpers';
import { LngLatPosition } from '../libre-routing';
export interface LibreRoutingDataProvider {
request: (waypoints: any, opts: {
selectRouteStrategy?: SelectRouteStrategy;
alternatives: number;
dragMode?: boolean;
}) => Promise<LibreRoutingDataResponse>;
destroy(): void;
hasPendingRequests(): Promise<boolean>;
abortAllRequests(): void;
}
export interface LibreRoutingDataResponse {
rawResponse: any;
routesShapeGeojson: GeoJSONSourceSpecification & {
data: FeatureCollection<Geometry, {
routeId: number;
waypoint: number;
}>;
};
routes: RouteSummary[];
selectedRouteId?: number | null;
routesShapeBounds?: LngLatBoundsLike;
}
export declare type RoutePath = LngLatPosition[];
export interface RouteSummary {
id: number;
label?: string;
path: RoutePath;
durationTime: number;
arriveTime: Date;
departureTime: Date;
distance: number;
cost?: number;
waypoints: {
lat: number;
lng: number;
}[];
shape: FeatureCollection<LineString, {
routeId: number;
waypoint: number;
}>;
}
export * from './here/here';