import { BaseEstimator } from '../base'; import { Params } from '../base/estimator'; import { Distance } from '../metrics'; export type NeighborsAlgorithm = 'auto' | 'ballTree' | 'kdTree' | 'brute'; export interface NearestNeighborsProps { nNeighbors?: number; radius?: number; algorithm?: NeighborsAlgorithm; leafSize?: number; metric?: Distance.IDistanceType; p?: number; } /** Unsupervised nearest-neighbor search over the existing KDTree/BallTree primitives. */ export declare class NearestNeighbors extends BaseEstimator { private nNeighbors; private radius; private algorithm; private leafSize; private metric; private p; private trainingState; private nFeaturesState; constructor(props?: NearestNeighborsProps); getParams(): Params; fit(X: number[][]): void; private validateQueries; private resolvedAlgorithm; private query; kneighbors(X?: number[][], nNeighbors?: number, returnDistance?: boolean): number[][] | { distances: number[][]; indices: number[][]; }; radiusNeighbors(X?: number[][], radius?: number, returnDistance?: boolean, sortResults?: boolean): number[][] | { distances: number[][]; indices: number[][]; }; }