import { Wind } from './metar.types.js';
import { FrequencyType, Runway, RunwayWindVector, Waypoint } from './waypoint.types.js';
/**
 * Calculates the distance from one waypoint to another.
 *
 * @param from The starting waypoint.
 * @param to The destination waypoint.
 * @returns The distance in nautical miles.
 */
export declare const waypointDistance: (from: Waypoint, to: Waypoint) => number;
/**
 * Calculates the heading from one waypoint to another.
 *
 * @param from The starting waypoint.
 * @param to The destination waypoint.
 * @returns The heading in degrees.
 */
export declare const waypointHeading: (from: Waypoint, to: Waypoint) => number;
/**
 * Converts a numeric frequency type to its enum value
 *
 * @param type The numeric value of the frequency type
 * @returns The corresponding FrequencyType enum value
 */
export declare const validateFrequencyType: (type: number) => FrequencyType;
/**
 * Calculates the QFE (atmospheric pressure at waypoint elevation) value.
 *
 * @param waypoint The waypoint. For QFE calculation, this waypoint must have an 'elevation'
 *                 and provide a QNH value (typically via an associated 'metarStation' property
 *                 if the waypoint is an aerodrome or similar).
 * @returns The QFE value in hPa (hectopascals), rounded to 2 decimal places,
 *          or undefined if the waypoint's elevation or QNH data is not available.
 */
export declare const waypointQFE: (waypoint: Waypoint) => number | undefined;
/**
 * Creates a Waypoint object from a longitude and latitude.
 *
 * @param location - The location as a [longitude, latitude] tuple.
 * @param name - Optional name for the waypoint.
 * @returns A Waypoint object.
 */
export declare const createWaypoint: (location: [number, number], name?: string) => Waypoint;
/**
 * Calculates the wind vector for a specific runway.
 *
 * @param runway The runway to calculate the wind vector for.
 * @param wind The current wind data from METAR.
 * @returns The calculated runway wind vector.
 */
export declare const calculateRunwayWindVector: (runway: Runway, wind: Wind) => RunwayWindVector;
