type Points = number[][]; type Get = (point: T) => number; type ArrayType = | typeof Int8Array | typeof Int16Array | typeof Int32Array | typeof Float32Array | typeof Float64Array | typeof Uint8Array | typeof Uint16Array | typeof Uint32Array | typeof Array; declare class KDBush { constructor(points: Points); constructor(points: T[], getX: Get, getY: Get, nodeSize?: number, ArrayType?: ArrayType); ids: number[]; coords: number[]; nodeSize: number; points: T[]; range(minX: number, minY: number, maxX: number, maxY: number): number[]; within(x: number, y: number, r: number): number[]; } export = KDBush; export as namespace KDBush;