import type { Feature, LineString, Polygon } from "@deck.gl-community/editable-layers";
import type { Position } from "geojson";
export declare function length(geojson: Feature<LineString>): number;
/**
 * Takes one or more features and returns their area in square meters.
 */
export declare function area(geojson: Feature<Polygon>): number;
/**
 * Calculates the squared distance from a point to a line segment
 * @param v The start position of the segment
 * @param w The end position of the segment
 * @param p The point to calculate the distance to
 * @returns The squared distance from the point to the segment
 */
export declare function distToSegmentSquared(v: Position, w: Position, p: Position): number;
/**
 * Checks if a point has moved beyond the end of a line segment
 * @param point The point to check
 * @param line The line segment, defined by start and end positions
 * @returns True if the point has moved beyond the end of the line segment, false otherwise
 */
export declare function isPointAwayFromLineEnd(point: Position, line: [lineStart: Position, lineEnd: Position]): boolean;
/**
 * Check if a number is close (or equal) to another number
 * @param number A number
 * @param otherNumber Another number
 * @param threshold The threshold within which the two numbers are considered "close". Defaults to `0.001`
 * @returns true if the numbers are close, false otherwise
 */
export declare function isClose(number: number, otherNumber: number, threshold?: number): boolean;
