export interface PxPoint { id: string; coords: number[]; value?: string; } export interface NearestResult { point: PxPoint; dist: number; found: boolean; } export interface KNearestResult { points: PxPoint[]; dists: number[]; } export interface PxTree { len(): Promise; dim(): Promise; insert(point: PxPoint): Promise; deleteByID(id: string): Promise; nearest(query: number[]): Promise; kNearest(query: number[], k: number): Promise; radius(query: number[], r: number): Promise; exportJSON(): Promise; } export interface InitOptions { wasmURL?: string; wasmExecURL?: string; instantiateWasm?: (source: ArrayBuffer, importObject: WebAssembly.Imports) => Promise | WebAssembly.Instance; } export interface PxAPI { version(): Promise; hello(name?: string): Promise; newTree(dim: number): Promise; } export function init(options?: InitOptions): Promise;