import type { _MLCLayer } from "./MLCLayer.js";
import type { MLCReductionType } from "./MLCReductionType.js";
export declare class _MLCScatterLayer extends _MLCLayer {
    static alloc(): _MLCScatterLayer;
    static new(): _MLCScatterLayer;
    init(): _MLCScatterLayer;
    /**
     * @abstract Create a scatter layer @param dimension The dimension along which to index @param reductionType The reduction type to use @return A new scatter layer
     */
    static layerWithDimension$reductionType$(dimension: number, reductionType: MLCReductionType): _MLCScatterLayer | null;
    /** @property dimension @abstract The dimension along which to index */
    dimension(): number;
    /**
     * @property reductionType @abstract The reduction type applied for all values in source tensor that are scattered to a specific location in the result tensor. Must be: MLCReductionTypeNone or MLCReductionTypeSum.
     */
    reductionType(): MLCReductionType;
}
