import type { _MLCOptimizer } from "./MLCOptimizer.js";
import type { _MLCOptimizerDescriptor } from "./MLCOptimizerDescriptor.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
export declare class _MLCRMSPropOptimizer extends _MLCOptimizer {
    static alloc(): _MLCRMSPropOptimizer;
    static new(): _MLCRMSPropOptimizer;
    init(): _MLCRMSPropOptimizer;
    /**
     * @abstract Create a MLCRMSPropOptimizer object with defaults @return A new MLCRMSPropOptimizer object.
     */
    static optimizerWithDescriptor$(optimizerDescriptor: _MLCOptimizerDescriptor): _MLCRMSPropOptimizer;
    /**
     * @abstract Create a MLCRMSPropOptimizer object @param optimizerDescriptor The optimizer descriptor object @param momentumScale The momentum scale @param alpha The smoothing constant value @param epsilon The epsilon value to use to improve numerical stability @param isCentered A boolean to specify whether to compute the centered RMSProp or not @return A new MLCRMSPropOptimizer object.
     */
    static optimizerWithDescriptor$momentumScale$alpha$epsilon$isCentered$(optimizerDescriptor: _MLCOptimizerDescriptor, momentumScale: number, alpha: number, epsilon: number, isCentered: boolean): _MLCRMSPropOptimizer;
    /**
     * @property momentumScale @abstract The momentum factor. A hyper-parameter. @discussion The default is 0.0.
     */
    momentumScale(): number;
    /**
     * @property alpha @abstract The smoothing constant. @discussion The default is 0.99.
     */
    alpha(): number;
    /**
     * @property epsilon @abstract A term added to improve numerical stability. @discussion The default is 1e-8.
     */
    epsilon(): number;
    /**
     * @property isCentered @abstract If True, compute the centered RMSProp, the gradient is normalized by an estimation of its variance. @discussion The default is false.
     */
    isCentered(): boolean;
}
export interface _MLCRMSPropOptimizer extends _NSCopying {
}
