import { DataTable } from '../data-table';
interface KdTreeNode {
    index: number;
    count: number;
    left?: KdTreeNode;
    right?: KdTreeNode;
}
declare class KdTree {
    centroids: DataTable;
    root: KdTreeNode;
    private colData;
    constructor(centroids: DataTable);
    findNearest(point: Float32Array, filterFunc?: (index: number) => boolean): {
        index: number;
        distanceSqr: number;
        cnt: number;
    };
    findKNearest(point: Float32Array, k: number, filterFunc?: (index: number) => boolean): {
        indices: Int32Array<ArrayBuffer>;
        distances: Float32Array<ArrayBuffer>;
    };
}
export { KdTreeNode, KdTree };
