/**
 * Ladder network
 */
export default class LadderNetwork {
    /**
     * @param {number[]} hidden_sizes Sizes of hidden layers
     * @param {number[]} lambdas Regularization parameters
     * @param {string} activation Activation name
     * @param {string} optimizer Optimizer of the network
     */
    constructor(hidden_sizes: number[], lambdas: number[], activation: string, optimizer: string);
    _hidden_sizes: number[];
    _lambdas: number[];
    _activation: string;
    _optimizer: string;
    _noise_std: any[];
    _model: NeuralNetwork;
    _classes: any[];
    _epoch: number;
    /**
     * Epoch
     * @type {number}
     */
    get epoch(): number;
    _build(): NeuralNetwork;
    _layers: ({
        type: string;
        name: string;
        size?: undefined;
        variance?: undefined;
        input?: undefined;
        axis?: undefined;
    } | {
        type: string;
        size: string;
        variance: number;
        name: string;
        input?: undefined;
        axis?: undefined;
    } | {
        type: string;
        input: string[];
        name: string;
        size?: undefined;
        variance?: undefined;
        axis?: undefined;
    } | {
        type: string;
        input: string;
        name: string;
        size?: undefined;
        variance?: undefined;
        axis?: undefined;
    } | {
        type: string;
        input: string[];
        axis: number;
        name?: undefined;
        size?: undefined;
        variance?: undefined;
    })[];
    /**
     * Fit model.
     * @param {Array<Array<number>>} train_x Training data
     * @param {(* | null)[]} train_y Target values
     * @param {number} iteration Iteration count
     * @param {number} rate Learning rate
     * @param {number} batch Batch size
     * @returns {{labeledLoss: number, unlabeledLoss: number}} Loss value
     */
    fit(train_x: Array<Array<number>>, train_y: (any | null)[], iteration: number, rate: number, batch: number): {
        labeledLoss: number;
        unlabeledLoss: number;
    };
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} x Sample data
     * @returns {*[]} Predicted values
     */
    predict(x: Array<Array<number>>): any[];
}
import NeuralNetwork from './neuralnetwork.js';
