/**
 * Lp pool layer
 */
export default class LpPoolLayer extends Layer {
    /**
     * @param {object} config object
     * @param {number} [config.p] p
     * @param {number | number[]} config.kernel Size of kernel
     * @param {number | number[]} [config.stride] Step of stride
     * @param {number | number[]} [config.padding] size of padding
     * @param {number} [config.channel_dim] Dimension of the channel
     */
    constructor({ p, kernel, stride, padding, channel_dim, ...rest }: {
        p?: number;
        kernel: number | number[];
        stride?: number | number[];
        padding?: number | number[];
        channel_dim?: number;
    });
    _p: number;
    _kernel: number | number[];
    _stride: number | number[];
    _padding: number | number[];
    _channel_dim: 1 | -1;
    _index(i: any, c: any, k: any): any[];
    calc(x: any): Tensor<number>;
    _i: any;
    _sp: Tensor<number>;
    _o: Tensor<number>;
    grad(bo: any): Tensor<number>;
    _bo: any;
    _bi: Tensor<number>;
    toObject(): {
        type: string;
        p: number;
        kernel: number | number[];
        stride: number | number[];
        padding: number | number[];
        channel_dim: number;
    };
}
import Layer from './base.js';
import Tensor from '../../../util/tensor.js';
