import * as turf from '@turf/turf'; import { MapBoundingBox, MapCircle, MapLatLng, MapPolygon, MapPolyline, MapRectangle } from '../models'; /************************************** COMPUTE ******************************************/ /** * Returns the distance between to coordinates. */ export declare function computeDistance(position1: MapLatLng, position2: MapLatLng, units?: turf.Units): number; /** * Returns the bearing, heading or angle at which the straight line between `position1` and `position2` are pointing at. */ export declare function computeBearing(position1: MapLatLng, position2: MapLatLng): number; /** * Alias for `getBearing`. */ export declare function computeHeading(position1: MapLatLng, position2: MapLatLng): number; /** * Returns the coordinates for a point between `position1` and `position2` for the given `percent`. */ export declare function interpolate(position1: MapLatLng, position2: MapLatLng, percent: number): { lat: number; lng: number; }; /************************************** CHECKS ******************************************/ /** * Checks whether a point is in inside a bounding box. */ export declare function isPointWithinBox(box: MapBoundingBox, position: MapLatLng): boolean; export declare function isPointWithinRectangle(rectangle: MapRectangle, position: MapLatLng): boolean; export declare function isPointWithinCircle(circle: MapCircle, position: MapLatLng): boolean; export declare function isPointWithinPolygon(polygon: MapPolygon, position: MapLatLng): boolean; /************************************** TRANSFORMS ******************************************/ export declare function moveCircle(circle: MapCircle, position: MapLatLng): MapCircle; export declare function moveRectangle(rectangle: MapRectangle, position: MapLatLng): MapRectangle; export declare function movePolygon(polygon: MapPolygon, position: MapLatLng): MapPolygon; export declare function movePolyline(polyline: MapPolyline, position: MapLatLng): MapPolyline; export declare function scaleCircle(circle: MapCircle, factor: number): MapCircle; export declare function scaleRectangle(rectangle: MapRectangle, factor: number): MapRectangle; export declare function scalePolygon(polygon: MapPolygon, factor: number): MapPolygon; export declare function scalePolyline(polyline: MapPolyline, factor: number): MapPolyline; export declare function rotateRectangle(rectangle: MapRectangle, degrees: number): MapRectangle; export declare function rotatePolygon(polygon: MapPolygon, degrees: number): MapPolygon; export declare function rotatePolyline(polyline: MapPolyline, degrees: number): MapPolyline;