export interface GeohashBounds { minLat: number; maxLat: number; minLon: number; maxLon: number; } export type Direction = 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw'; /** Encode latitude/longitude to a geohash string. Default precision 5 (~4.9km). */ export declare function encode(lat: number, lon: number, precision?: number): string; /** Decode a geohash to its centre point with error margins. */ export declare function decode(hash: string): { lat: number; lon: number; error: { lat: number; lon: number; }; }; /** Get the bounding rectangle of a geohash cell. */ export declare function bounds(hash: string): GeohashBounds; /** Get the 32 children of a geohash at the next precision level. */ export declare function children(hash: string): string[]; /** Check if two geohashes overlap (bidirectional prefix containment). */ export declare function contains(a: string, b: string): boolean; /** Check if a geohash matches any candidate in a multi-precision set. */ export declare function matchesAny(hash: string, candidates: string[]): boolean; /** Get a single adjacent geohash cell in the given direction. */ export declare function neighbour(hash: string, direction: Direction): string; /** Get all 8 adjacent geohash cells. */ export declare function neighbours(hash: string): Record; /** Haversine distance in metres between two coordinate pairs. */ export declare function distanceFromCoords(lat1: number, lon1: number, lat2: number, lon2: number): number; /** Haversine distance in metres between centres of two geohash cells. */ export declare function distance(hashA: string, hashB: string): number; /** Geographic midpoint between two coordinate pairs (spherical interpolation). */ export declare function midpointFromCoords(lat1: number, lon1: number, lat2: number, lon2: number): { lat: number; lon: number; }; /** Geographic centroid of N coordinate pairs (spherical vector mean). */ export declare function midpointFromCoordsMulti(points: ReadonlyArray<{ lat: number; lon: number; }>): { lat: number; lon: number; }; /** Geographic midpoint between centres of two geohash cells. */ export declare function midpoint(hashA: string, hashB: string): { lat: number; lon: number; }; /** Optimal geohash precision for a given search radius in metres. */ export declare function radiusToPrecision(metres: number): number; /** Approximate cell radius in metres for a given precision level. */ export declare function precisionToRadius(precision: number): number; //# sourceMappingURL=core.d.ts.map