import type { _MLCLayer } from "./MLCLayer.js";
import type { _MLCTensor } from "./MLCTensor.js";
import type { _MLCTensorParameter } from "./MLCTensorParameter.js";
export declare class _MLCInstanceNormalizationLayer extends _MLCLayer {
    static alloc(): _MLCInstanceNormalizationLayer;
    static new(): _MLCInstanceNormalizationLayer;
    init(): _MLCInstanceNormalizationLayer;
    /**
     * @abstract Create an instance normalization layer @param featureChannelCount The number of feature channels @param beta The beta tensor @param gamma The gamma tensor @param varianceEpsilon The epslion value @return A new instance normalization layer.
     */
    static layerWithFeatureChannelCount$beta$gamma$varianceEpsilon$(featureChannelCount: number, beta: _MLCTensor | null, gamma: _MLCTensor | null, varianceEpsilon: number): _MLCInstanceNormalizationLayer | null;
    /**
     * @abstract Create an instance normalization layer @param featureChannelCount The number of feature channels @param beta The beta tensor @param gamma The gamma tensor @param varianceEpsilon The epslion value @param momentum The momentum value for the running mean and variance computation @return A new instance normalization layer.
     */
    static layerWithFeatureChannelCount$beta$gamma$varianceEpsilon$momentum$(featureChannelCount: number, beta: _MLCTensor | null, gamma: _MLCTensor | null, varianceEpsilon: number, momentum: number): _MLCInstanceNormalizationLayer | null;
    /**
     * @abstract Create an instance normalization layer @param featureChannelCount The number of feature channels @param mean The running mean tensor @param variance The running variance tensor @param beta The beta tensor @param gamma The gamma tensor @param varianceEpsilon The epslion value @param momentum The momentum value for the running mean and variance computation @return A new instance normalization layer.
     */
    static layerWithFeatureChannelCount$mean$variance$beta$gamma$varianceEpsilon$momentum$(featureChannelCount: number, mean: _MLCTensor, variance: _MLCTensor, beta: _MLCTensor | null, gamma: _MLCTensor | null, varianceEpsilon: number, momentum: number): _MLCInstanceNormalizationLayer | null;
    /** @property featureChannelCount @abstract The number of feature channels */
    featureChannelCount(): number;
    /** @property mean @abstract The running mean tensor */
    mean(): _MLCTensor | null;
    /** @property variance @abstract The running variance tensor */
    variance(): _MLCTensor | null;
    /** @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;
    /**
     * @property momentum @abstract The value used for the running mean and variance computation @discussion The default is 0.99f.
     */
    momentum(): number;
}
