/**
 * Batch normalization layer
 */
export default class BatchNormalizationLayer extends Layer {
    /**
     * @param {object} config object
     * @param {number | number[] | string} [config.scale] Scale
     * @param {number | number[] | string} [config.offset] Offset
     * @param {number} [config.epsilon] Epsilon
     * @param {number} [config.channel_dim] Dimension of the channel
     * @param {number[] | string} [config.input_mean] Input mean
     * @param {number[] | string} [config.input_var] Input variance
     */
    constructor({ scale, offset, epsilon, channel_dim, input_mean, input_var, ...rest }: {
        scale?: number | number[] | string;
        offset?: number | number[] | string;
        epsilon?: number;
        channel_dim?: number;
        input_mean?: number[] | string;
        input_var?: number[] | string;
    });
    _scale: number | number[];
    _scalename: string;
    _offset: number | number[];
    _offsetname: string;
    _epsilon: number;
    _channel_dim: 1 | -1;
    _input_mean: string | number[];
    _input_var: string | number[];
    get mean(): any;
    get var(): any;
    calc(x: any): any;
    _mean: any;
    _var: any;
    _xc: any;
    _xh: any;
    grad(bo: any): any;
    _bo: any;
    update(optimizer: any): void;
    toObject(): {
        type: string;
        scale: any;
        offset: any;
        epsilon: number;
        channel_dim: number;
        input_mean: string | number[];
        input_var: string | number[];
    };
}
import Layer from './base.js';
