/**
 * Convolutional layer
 */
export default class ConvLayer extends Layer {
    /**
     * @param {object} config object
     * @param {number | number[]} config.kernel Size of kernel
     * @param {number} [config.channel] Number of output channel
     * @param {number | number[]} [config.stride] Step of stride
     * @param {number | number[]} [config.padding] size of padding
     * @param {number[][] | Tensor | string} [config.w] Weight of kernel
     * @param {string | object} [config.activation] Name of activation or activation layer object
     * @param {number} [config.l2_decay] L2 decay
     * @param {number} [config.l1_decay] L1 decay
     * @param {number} [config.channel_dim] Dimension of the channel
     */
    constructor({ kernel, channel, stride, padding, w, activation, l2_decay, l1_decay, channel_dim, ...rest }: {
        kernel: number | number[];
        channel?: number;
        stride?: number | number[];
        padding?: number | number[];
        w?: number[][] | Tensor | string;
        activation?: string | object;
        l2_decay?: number;
        l1_decay?: number;
        channel_dim?: number;
    });
    _in_channel: number;
    _out_channel: number;
    _kernel: number | number[];
    _stride: number | number[];
    _padding: number | number[];
    _channel_dim: 1 | -1;
    _w: Tensor;
    _wname: string;
    _activation: Layer;
    _l2_decay: number;
    _l1_decay: number;
    _index(i: any, c: any, k: any): any[];
    calc(x: any): Tensor | import("../../../util/matrix.js").default<number> | (Tensor | import("../../../util/matrix.js").default<number>)[];
    _i: any;
    _o: Tensor;
    grad(bo: any): Tensor | (Tensor | {
        [x: string]: Tensor;
    })[];
    _bo: any;
    _bi: Tensor;
    _dw: Tensor;
    update(optimizer: any): void;
    toObject(): {
        type: string;
        w: string | number[];
        channel: number;
        kernel: number | number[];
        stride: number | number[];
        padding: number | number[];
        activation: import("./index.js").PlainLayerObject;
        l2_decay: number;
        l1_decay: number;
        channel_dim: number;
    };
}
import Layer from './base.js';
import Tensor from '../../../util/tensor.js';
