import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MTL4FunctionDescriptor } from "./MTL4FunctionDescriptor.js";
import type { MTL4BinaryFunctionOptions } from "./MTL4BinaryFunctionOptions.js";
export declare class _MTL4BinaryFunctionDescriptor extends _NSObject {
    static alloc(): _MTL4BinaryFunctionDescriptor;
    static new(): _MTL4BinaryFunctionDescriptor;
    init(): _MTL4BinaryFunctionDescriptor;
    /**
     * Associates a string that uniquely identifies a binary function. You can use this property to look up a corresponding binary function by name in a ``MTL4Archive`` instance.
     */
    name(): _NSString;
    setName$(value: _NSString): void;
    /**
     * Provides the function descriptor corresponding to the function to compile into a binary function.
     */
    functionDescriptor(): _MTL4FunctionDescriptor;
    setFunctionDescriptor$(value: _MTL4FunctionDescriptor): void;
    /** Configure the options to use at binary function creation time. */
    options(): MTL4BinaryFunctionOptions;
    setOptions$(value: MTL4BinaryFunctionOptions): void;
}
export interface _MTL4BinaryFunctionDescriptor extends _NSCopying {
}
