/**
 * Inverse distance weighting
 */
export default class InverseDistanceWeighting {
    /**
     * @param {number} [k] Number of neighborhoods
     * @param {number} [p] Power parameter
     * @param {'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | function (number[], number[]): number} [metric] Metric name
     */
    constructor(k?: number, p?: number, metric?: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number));
    _k: number;
    _p: number;
    _metric: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number);
    _d: (a: any, b: any) => any;
    _near_points(data: any): any[];
    /**
     * Fit model.
     * @param {Array<Array<number>>} x Training data
     * @param {number[]} y Target values
     */
    fit(x: Array<Array<number>>, y: number[]): void;
    _x: number[][];
    _y: number[];
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} data Sample data
     * @returns {number[]} Predicted values
     */
    predict(data: Array<Array<number>>): number[];
}
