/**
 * Variable layer
 */
export default class VariableLayer extends Layer {
    /**
     * @param {object} config config
     * @param {number[] | string} config.size Size of variable
     * @param {number} [config.l2_decay] L2 decay
     * @param {number} [config.l1_decay] L1 decay
     * @param {number[] | number[][] | Tensor} [config.value] Default value
     */
    constructor({ size, l2_decay, l1_decay, value, ...rest }: {
        size: number[] | string;
        l2_decay?: number;
        l1_decay?: number;
        value?: number[] | number[][] | Tensor;
    });
    _size: string | number[];
    _v: Tensor<number> | import("../../../util/matrix.js").default<number>;
    _l2_decay: number;
    _l1_decay: number;
    _n: number;
    bind({ n }: {
        n: any;
    }): void;
    calc(): Tensor<number> | import("../../../util/matrix.js").default<number>;
    grad(bo: any): void;
    _bo: any;
    update(optimizer: any): void;
    toObject(): {
        type: string;
        size: string | number[];
        l2_decay: number;
        l1_decay: number;
        value: import("../../../util/tensor.js").NestedArray<number>;
    };
}
import Layer from './base.js';
import Tensor from '../../../util/tensor.js';
