/** * Inner projection that accepts a pre-computed `worldSize` (= tileSize * 2^zoom). * * Exposed so hot loops that project dozens of points per frame (e.g. edge-label * layout) can hoist `Math.pow(2, zoom)` out of the per-vertex work. Most callers * should prefer the zoom-based {@link lngLatToWebMercatorPx} wrapper. */ export declare const lngLatToMercatorPxWS: (lng: number, lat: number, worldSize: number) => readonly [number, number]; /** * Inverse of {@link lngLatToMercatorPxWS}: map a pixel coordinate back to * [lng, lat] given a pre-computed `worldSize`. */ export declare const mercatorPxToLngLatWS: (px: number, py: number, worldSize: number) => readonly [number, number]; /** * Project a [lng, lat] coordinate to absolute Web Mercator pixel space at the * given zoom. This is the same projection formula map adapters use internally, * so pixel-space measurements derived here agree with the rendered map. */ export declare const lngLatToWebMercatorPx: (lng: number, lat: number, zoom: number, tileSize?: number) => readonly [number, number]; /** * Inverse of {@link lngLatToWebMercatorPx}: map an absolute Web Mercator pixel * coordinate back to [lng, lat] at the given zoom. */ export declare const webMercatorPxToLngLat: (px: number, py: number, zoom: number, tileSize?: number) => readonly [number, number]; /** * Convert a pixel distance to latitude degrees at a given zoom level, * accounting for Web Mercator latitude distortion (latitude pixels scale by * sec(lat)). */ export declare const pixelsToLatDegrees: (pixels: number, zoom: number, latDeg: number, tileSize?: number) => number; /** * Compute the pixel length of a line segment at a given zoom level, * accounting for Web Mercator latitude distortion. * * Web Mercator tile math: worldSize = tileSize * 2^zoom pixels for 360 degrees of longitude. * Latitude pixels scale by sec(lat). * * Relocated from `@trackunit/react-map` (per ADR-0018 follow-up) since this is pure * Mercator math with no React or DS semantics — appropriate for a vanilla geo utility lib. * * @param x0 - Start longitude (degrees) * @param y0 - Start latitude (degrees) * @param x1 - End longitude (degrees) * @param y1 - End latitude (degrees) * @param zoom - Map zoom level * @param midLatDeg - Mid-point latitude for distortion correction (degrees) * @param tileSize - Tile size in pixels (default 256) */ export declare const edgePixelLength: (x0: number, y0: number, x1: number, y1: number, zoom: number, midLatDeg: number, tileSize?: number) => number;