/** * @typedef {object} Node * @prop {number} left left index in the kd-tree array * @prop {number} right right index in the kd-tree array * @prop {number} axis 0 for longitude and 1 for latitude axis * @prop {number} dist the lower bound of children's distances to the query point * @prop {number} minLng * @prop {number} minLat * @prop {number} maxLng * @prop {number} maxLat */ /** * @typedef {{ id: number, dist: number }} QueueItem */ /** * Returns an array of the closest points from a given location in order of increasing distance. * * @param {import('kdbush').default} index kdbush index * @param {number} lng Query point longitude * @param {number} lat Query point latitude * @param {number} [maxResults] Maximum number of points to return * @param {number} [maxDistance] Maximum distance in kilometers to search within * @param {(item: number) => boolean} [predicate] A function to filter the results */ export function around(index: import("kdbush").default, lng: number, lat: number, maxResults?: number, maxDistance?: number, predicate?: (item: number) => boolean): number[]; /** * Returns great circle distance between two locations in kilometers. * * @param {number} lng1 * @param {number} lat1 * @param {number} lng2 * @param {number} lat2 */ export function distance(lng1: number, lat1: number, lng2: number, lat2: number): number; export type Node = { /** * left index in the kd-tree array */ left: number; /** * right index in the kd-tree array */ right: number; /** * 0 for longitude and 1 for latitude axis */ axis: number; /** * the lower bound of children's distances to the query point */ dist: number; minLng: number; minLat: number; maxLng: number; maxLat: number; }; export type QueueItem = { id: number; dist: number; };