import type { _MLCConvolutionDescriptor } from "./MLCConvolutionDescriptor.js";
import type { _MLCLayer } from "./MLCLayer.js";
import type { _MLCTensor } from "./MLCTensor.js";
import type { _MLCTensorParameter } from "./MLCTensorParameter.js";
export declare class _MLCFullyConnectedLayer extends _MLCLayer {
    static alloc(): _MLCFullyConnectedLayer;
    static new(): _MLCFullyConnectedLayer;
    init(): _MLCFullyConnectedLayer;
    /**
     * @abstract Create a fully connected layer @param weights The weights tensor @param biases The bias tensor @param descriptor The convolution descriptor @return A new fully connected layer
     */
    static layerWithWeights$biases$descriptor$(weights: _MLCTensor, biases: _MLCTensor | null, descriptor: _MLCConvolutionDescriptor): _MLCFullyConnectedLayer | null;
    /** @property descriptor @abstract The convolution descriptor */
    descriptor(): _MLCConvolutionDescriptor;
    /** @property weights @abstract The weights tensor used by the convolution layer */
    weights(): _MLCTensor;
    /** @property biases @abstract The bias tensor used by the convolution layer */
    biases(): _MLCTensor | null;
    /**
     * @property weightsParameter @abstract The weights tensor parameter used for optimizer update
     */
    weightsParameter(): _MLCTensorParameter;
    /**
     * @property biasesParameter @abstract The bias tensor parameter used for optimizer update
     */
    biasesParameter(): _MLCTensorParameter | null;
}
