import type { _MPSGraphObject } from "./MPSGraphObject.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { MPSGraphFFTScalingMode } from "./MPSGraphFFTScalingMode.js";
export declare class _MPSGraphFFTDescriptor extends _MPSGraphObject {
    static alloc(): _MPSGraphFFTDescriptor;
    static new(): _MPSGraphFFTDescriptor;
    init(): _MPSGraphFFTDescriptor;
    /** Creates a fast Fourier transform descriptor with default parameter values. */
    static descriptor(): _MPSGraphFFTDescriptor | null;
    /**
     * A Boolean-valued parameter that defines the phase factor sign for Fourier transforms. When set to `YES` graph uses the positive phase factor: `exp(+i 2Pi mu nu / n)`, when computing the (inverse) Fourier transform. Otherwise MPSGraph uses the negative phase factor: `exp(-i 2Pi mu nu / n)`, when computing the Fourier transform. Default value: `NO`.
     */
    inverse(): boolean;
    setInverse$(value: boolean): void;
    /**
     * The scaling mode of the fast fourier transform (FFT) operation. Note that the scaling mode is independent from the phase factor. Default value: `MPSGraphFFTScalingModeNone`.
     */
    scalingMode(): MPSGraphFFTScalingMode;
    setScalingMode$(value: MPSGraphFFTScalingMode): void;
    /**
     * A parameter which controls how graph rounds the output tensor size for a Hermitean-to-real Fourier transform. If set to `YES` then MPSGraph rounds the last output dimension of the result tensor in ``MPSGraph/HermiteanToRealFFTWithTensor:axesTensor:descriptor:name:`` to an odd value. Has no effect in the other Fourier transform operations. Default value: `NO`.
     */
    roundToOddHermitean(): boolean;
    setRoundToOddHermitean$(value: boolean): void;
}
export interface _MPSGraphFFTDescriptor extends _NSCopying {
}
