/**
 * Many Adaptive Linear Neuron model
 */
export default class MADALINE {
    /**
     * @param {number[]} sizes Numbers of layers
     * @param {1 | 2 | 3} [rule] Rule
     * @param {number} rate Learning rate
     */
    constructor(sizes: number[], rule?: 1 | 2 | 3, rate: number);
    _sizes: number[];
    _rule: 2 | 1 | 3;
    _rate: number;
    _logic: string;
    _layers: any[][];
    /**
     * Fit this model once.
     * @param {Array<Array<number>>} x Training data
     * @param {Array<Array<1 | -1>> | Array<1 | -1>} y Target values
     */
    fit(x: Array<Array<number>>, y: Array<Array<1 | -1>> | Array<1 | -1>): void;
    _fit1(x: any, y: any): void;
    _fit2(x: any, y: any): void;
    _fit3(x: any, y: any): void;
    /**
     * Returns predicted datas.
     * @param {Array<Array<number>>} data Sample data
     * @param {number} from Index of layers to calculate from
     * @returns {Array<Array<Array<number>>>} Predicted values for each layer
     */
    outputLayers(data: Array<Array<number>>, from?: number): Array<Array<Array<number>>>;
    /**
     * Returns predicted datas.
     * @param {Array<Array<number>>} data Sample data
     * @returns {Array<Array<1 | -1>>} Predicted values
     */
    predict(data: Array<Array<number>>): Array<Array<1 | -1>>;
}
