import type { _MLCLayer } from "./MLCLayer.js";
import type { _MLCTensor } from "./MLCTensor.js";
import type { _MLCTensorParameter } from "./MLCTensorParameter.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export declare class _MLCLayerNormalizationLayer extends _MLCLayer {
    static alloc(): _MLCLayerNormalizationLayer;
    static new(): _MLCLayerNormalizationLayer;
    init(): _MLCLayerNormalizationLayer;
    /**
     * @abstract Create a layer normalization layer @param normalizedShape The shape of the axes over which normalization occurs, currently (C,H,W) only @param beta Training parameter @param gamma Training parameter @param varianceEpsilon A small numerical value added to variance for stability @return A new layer normalization layer.
     */
    static layerWithNormalizedShape$beta$gamma$varianceEpsilon$(normalizedShape: _NSArray, beta: _MLCTensor | null, gamma: _MLCTensor | null, varianceEpsilon: number): _MLCLayerNormalizationLayer | null;
    /**
     * @property normalizedShape @abstract The shape of the axes over which normalization occurs, (W), (H,W) or (C,H,W)
     */
    normalizedShape(): _NSArray;
    /** @property beta @abstract The beta tensor */
    beta(): _MLCTensor | null;
    /** @property gamma @abstract The gamma tensor */
    gamma(): _MLCTensor | null;
    /**
     * @property betaParameter @abstract The beta tensor parameter used for optimizer update
     */
    betaParameter(): _MLCTensorParameter | null;
    /**
     * @property gammaParameter @abstract The gamma tensor parameter used for optimizer update
     */
    gammaParameter(): _MLCTensorParameter | null;
    /** @property varianceEpsilon @abstract A value used for numerical stability */
    varianceEpsilon(): number;
}
