import type { _MLCOptimizer } from "./MLCOptimizer.js";
import type { _MLCOptimizerDescriptor } from "./MLCOptimizerDescriptor.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
export declare class _MLCAdamWOptimizer extends _MLCOptimizer {
    static alloc(): _MLCAdamWOptimizer;
    static new(): _MLCAdamWOptimizer;
    init(): _MLCAdamWOptimizer;
    /**
     * @abstract Create an MLCAdamWOptimizer object with defaults @return A new MLCAdamWOptimizer object.
     */
    static optimizerWithDescriptor$(optimizerDescriptor: _MLCOptimizerDescriptor): _MLCAdamWOptimizer;
    /**
     * @abstract Create an MLCAdamWOptimizer object @param optimizerDescriptor The optimizer descriptor object @param beta1 The beta1 value @param beta2 The beta2 value @param epsilon The epsilon value to use to improve numerical stability @param usesAMSGrad Whether to use the AMSGrad variant of this algorithm from the paper (https://arxiv.org/abs/1904.09237) @param timeStep The initial timestep to use for the update @return A new MLCAdamWOptimizer object.
     */
    static optimizerWithDescriptor$beta1$beta2$epsilon$usesAMSGrad$timeStep$(optimizerDescriptor: _MLCOptimizerDescriptor, beta1: number, beta2: number, epsilon: number, usesAMSGrad: boolean, timeStep: number): _MLCAdamWOptimizer;
    /**
     * @property beta1 @abstract Coefficent used for computing running averages of gradient. @discussion The default is 0.9.
     */
    beta1(): number;
    /**
     * @property beta2 @abstract Coefficent used for computing running averages of square of gradient. @discussion The default is 0.999.
     */
    beta2(): number;
    /**
     * @property epsilon @abstract A term added to improve numerical stability. @discussion The default is 1e-8.
     */
    epsilon(): number;
    /**
     * @property usesAMSGrad @abstract Whether to use the AMSGrad variant of this algorithm @discussion The default is false
     */
    usesAMSGrad(): boolean;
    /**
     * @property timeStep @abstract The current timestep used for the update. @discussion The default is 1.
     */
    timeStep(): number;
}
export interface _MLCAdamWOptimizer extends _NSCopying {
}
