import type { _MPSGraphObject } from "./MPSGraphObject.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { MPSGraphTensorNamedDataLayout } from "./MPSGraphTensorNamedDataLayout.js";
export declare class _MPSGraphImToColOpDescriptor extends _MPSGraphObject {
    static alloc(): _MPSGraphImToColOpDescriptor;
    static new(): _MPSGraphImToColOpDescriptor;
    init(): _MPSGraphImToColOpDescriptor;
    /**
     * Creates an image to column descriptor with given values for parameters. - Parameters: - kernelWidth: See `kernelWidth` property. - kernelHeight: See `kernelHeight` property. - strideInX: See `strideInX` property. - strideInY: See `strideInY` property. - dilationRateInX: See `dilationRateInX` property. - dilationRateInY: See `dilationRateInY` property. - paddingLeft: See `paddingLeft` property. - paddingRight: See `paddingRight` property. - paddingTop: See `paddingTop` property. - paddingBottom: See `paddingBottom` property. - dataLayout: See `dataLayout` property. - Returns: A valid MPSGraphImToColOpDescriptor on autoreleasepool.
     */
    static descriptorWithKernelWidth$kernelHeight$strideInX$strideInY$dilationRateInX$dilationRateInY$paddingLeft$paddingRight$paddingTop$paddingBottom$dataLayout$(kernelWidth: number, kernelHeight: number, strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number, dataLayout: MPSGraphTensorNamedDataLayout): _MPSGraphImToColOpDescriptor | null;
    /**
     * Creates column to image descriptor with given values for parameters. - Parameters: - kernelWidth: See `kernelWidth` property. - kernelHeight: See `kernelHeight` property. - strideInX: See `strideInX` property. - strideInY: See `strideInY` property. - dilationRateInX: See `dilationRateInX` property. - dilationRateInY: See `dilationRateInY` property. - dataLayout: See `dataLayout` property. - Returns: A valid MPSGraphImToColOpDescriptor on autoreleasepool.
     */
    static descriptorWithKernelWidth$kernelHeight$strideInX$strideInY$dilationRateInX$dilationRateInY$dataLayout$(kernelWidth: number, kernelHeight: number, strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, dataLayout: MPSGraphTensorNamedDataLayout): _MPSGraphImToColOpDescriptor | null;
    /**
     * Sets the descriptor's padding to the given values. - Parameters: - paddingLeft: See `paddingLeft` property. - paddingRight: See `paddingRight` property. - paddingTop: See `paddingTop` property. - paddingBottom: See `paddingBottom` property.
     */
    setExplicitPaddingWithPaddingLeft$paddingRight$paddingTop$paddingBottom$(paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number): void;
    /** The property that defines the kernel size in width dimension. */
    kernelWidth(): number;
    setKernelWidth$(value: number): void;
    /** The property that defines the kernel size in height dimension. */
    kernelHeight(): number;
    setKernelHeight$(value: number): void;
    /** The property that defines the stride in width dimension. */
    strideInX(): number;
    setStrideInX$(value: number): void;
    /** The property that defines the stride in height dimension. */
    strideInY(): number;
    setStrideInY$(value: number): void;
    /** The property that defines the dilation in width dimension. */
    dilationRateInX(): number;
    setDilationRateInX$(value: number): void;
    /** The property that defines the dilation in height dimension. */
    dilationRateInY(): number;
    setDilationRateInY$(value: number): void;
    /** The property that defines the padding in width dimension on the left side. */
    paddingLeft(): number;
    setPaddingLeft$(value: number): void;
    /** The property that defines the padding in width dimension on the right side. */
    paddingRight(): number;
    setPaddingRight$(value: number): void;
    /** The property that defines the padding in height dimension at the top. */
    paddingTop(): number;
    setPaddingTop$(value: number): void;
    /** The property that defines the padding in height dimension at the bottom. */
    paddingBottom(): number;
    setPaddingBottom$(value: number): void;
    /**
     * The property that defines the layout of source or output tensor. e.g. `batch x channels x width x height` for `NCHW` layout
     */
    dataLayout(): MPSGraphTensorNamedDataLayout;
    setDataLayout$(value: MPSGraphTensorNamedDataLayout): void;
}
export interface _MPSGraphImToColOpDescriptor extends _NSCopying {
}
