import type { _MPSGraphObject } from "./MPSGraphObject.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { MPSGraphPaddingStyle } from "./MPSGraphPaddingStyle.js";
export declare class _MPSGraphDepthwiseConvolution3DOpDescriptor extends _MPSGraphObject {
    static alloc(): _MPSGraphDepthwiseConvolution3DOpDescriptor;
    static new(): _MPSGraphDepthwiseConvolution3DOpDescriptor;
    init(): _MPSGraphDepthwiseConvolution3DOpDescriptor;
    /**
     * Creates a 3D depthwise convolution descriptor with given values. - Parameters: - strides: See `strides` property. - dilationRates: See `dilationRates` property. - paddingValues: See `paddingValues` property. - paddingStyle: See `paddingStyle` property. - Returns: The descriptor on autoreleasepool.
     */
    static descriptorWithStrides$dilationRates$paddingValues$paddingStyle$(strides: _NSArray, dilationRates: _NSArray, paddingValues: _NSArray, paddingStyle: MPSGraphPaddingStyle): _MPSGraphDepthwiseConvolution3DOpDescriptor | null;
    /**
     * Creates a 3D depthwise convolution descriptor with default values. - Parameters: - paddingStyle: See `paddingStyle` property. - Returns: The descriptor on autoreleasepool.
     */
    static descriptorWithPaddingStyle$(paddingStyle: MPSGraphPaddingStyle): _MPSGraphDepthwiseConvolution3DOpDescriptor | null;
    /**
     * The strides for spatial dimensions. Must be three numbers, one for each spatial dimension, fastest running index last. Default value: ` @ [ @ 1, @ 1, @ 1 ]`
     */
    strides(): _NSArray;
    setStrides$(value: _NSArray): void;
    /**
     * The dilation rates for spatial dimensions. Must be three numbers, one for each spatial dimension, fastest running index last. Default value: ` @ [ @ 1, @ 1, @ 1 ]`
     */
    dilationRates(): _NSArray;
    setDilationRates$(value: _NSArray): void;
    /**
     * The padding values for spatial dimensions. Must be six numbers, two for each spatial dimension. For example `paddingValues[0]` defines the explicit padding amount before the first spatial dimension (slowest running index of spatial dimensions), `paddingValues[1]` defines the padding amount after the first spatial dimension etc. Use only with `paddingStyle = MPSGraphPaddingStyleExplicit`. Default value: ` @ [ @ 0, @ 0, @ 0, @ 0, @ 0, @ 0 ]`
     */
    paddingValues(): _NSArray;
    setPaddingValues$(value: _NSArray): void;
    /**
     * The padding style for the operation. Default value: `MPSGraphPaddingStyleExplicit`.
     */
    paddingStyle(): MPSGraphPaddingStyle;
    setPaddingStyle$(value: MPSGraphPaddingStyle): void;
    /**
     * The axis that contains the channels in the input and the weights, within the 4D tile of the last dimensions. For example the value of `-1` corresponds to `NDHWC`, `NHWC` layouts. This allows the placement of the channel index anywhere within the last 4 dimensions of the tensor. In case your weights are in a different layout you can bring them to the same layout as inputs using transposes or permutations. Default value: `-4`, corresponds to `NCDHW` and `CDHW` layouts.
     */
    channelDimensionIndex(): number;
    setChannelDimensionIndex$(value: number): void;
}
export interface _MPSGraphDepthwiseConvolution3DOpDescriptor extends _NSCopying {
}
