# @types/static-kdtree

> TypeScript definitions for static-kdtree

Latest version **1.0.3** (published 2023-11-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/static-kdtree
pnpm add @types/static-kdtree
yarn add @types/static-kdtree
bun add @types/static-kdtree
```

## Health

**Score 45/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2023-11-07 |
| First published | 2023-02-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 5.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51444 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/static-kdtree
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/static-kdtree
- npm.io page: https://npm.io/package/@types/static-kdtree

## Dependencies (1)

- [@types/ndarray](https://npm.io/package/@types/ndarray.md) *

## Recent versions

- 1.0.3 (latest) — 2023-11-07
- 1.0.0 (ts4.2) — 2023-02-04
- 1.0.2 — 2023-10-18
- 1.0.1 — 2023-09-25

## README

# Installation
> `npm install --save @types/static-kdtree`

# Summary
This package contains type definitions for static-kdtree (https://github.com/mikolalysenko/static-kdtree).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/static-kdtree.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/static-kdtree/index.d.ts)
````ts
import ndarray = require("ndarray");

// ref: https://github.com/microsoft/TypeScript/pull/40002
type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never;
type _TupleOf<T, N extends number, R extends unknown[]> = R["length"] extends N ? R : _TupleOf<T, N, [T, ...R]>;

type ISerialized<D extends number = number> = {
    p: Array<TupleOf<number, D>>;
    i: number[];
} | {
    d: number;
};

type TVisitor = (id: number) => any;

type TNdarray = ReturnType<typeof ndarray>;

declare class KDTree<D extends number = number> {
    readonly dimension: number;
    readonly length: number;

    constructor(points: ReturnType<typeof ndarray>, ids: number[], n: number, d: D);

    range(lo: number[], hi: number[], visit: TVisitor): number;
    rnn(point: TupleOf<number, D>, radius: number, visit: TVisitor): void;
    nn(point: TupleOf<number, D>, maxDistance?: number): number;
    knn(point: TupleOf<number, D>, maxPoints?: number, maxDistance?: number): number[];
    serialize(): ISerialized<D>;
    dispose(): void;
}

declare function createKDTree<D extends number = number>(
    points: ReadonlyArray<TupleOf<number, D>> | TNdarray,
): KDTree<D>;
declare namespace createKDTree {
    function deserialize<D extends number>(data: ISerialized<D>): KDTree<D>;
}

export = createKDTree;

````

### Additional Details
 * Last updated: Tue, 07 Nov 2023 15:11:36 GMT
 * Dependencies: [@types/ndarray](https://npmjs.com/package/@types/ndarray)

# Credits
These definitions were written by [Zheyang Song](https://github.com/ZheyangSong).

---
_Source: https://npm.io/package/@types/static-kdtree · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
