import type { _MLCLayer } from "./MLCLayer.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export declare class _MLCSplitLayer extends _MLCLayer {
    static alloc(): _MLCSplitLayer;
    static new(): _MLCSplitLayer;
    init(): _MLCSplitLayer;
    /**
     * @abstract Create a split layer @param splitCount The number of splits. @param dimension The dimension along which the tensor should be split. @return A new split layer
     */
    static layerWithSplitCount$dimension$(splitCount: number, dimension: number): _MLCSplitLayer;
    /**
     * @abstract Create a split layer @param splitSectionLengths Lengths of each split section. @param dimension The dimension along which the tensor should be split. @return A new split layer
     */
    static layerWithSplitSectionLengths$dimension$(splitSectionLengths: _NSArray, dimension: number): _MLCSplitLayer;
    /**
     * @property dimension @abstract The dimension (or axis) along which to split tensor
     */
    dimension(): number;
    /**
     * @property splitCount @abstract The number of splits. @discussion The tensor will be split into equally sized chunks. The last chunk may be smaller in size.
     */
    splitCount(): number;
    /**
     * @property splitSectionLengths @abstract Lengths of each split section. @discussion The tensor will be split into chunks along dimensions with sizes given in \p splitSectionLengths .
     */
    splitSectionLengths(): _NSArray;
}
