import type { NobjcObject } from "objc-js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _MLImageConstraint } from "./MLImageConstraint.js";
import type { _MLMultiArray } from "./MLMultiArray.js";
import type { _MLSequence } from "./MLSequence.js";
import type { MLFeatureType } from "./MLFeatureType.js";
export declare class _MLFeatureValue extends _NSObject {
    static alloc(): _MLFeatureValue;
    static new(): _MLFeatureValue;
    init(): _MLFeatureValue;
    /** Hold an object with the specified value */
    static featureValueWithInt64$(value: number): _MLFeatureValue;
    static featureValueWithDouble$(value: number): _MLFeatureValue;
    static featureValueWithString$(value: _NSString): _MLFeatureValue;
    static featureValueWithMultiArray$(value: _MLMultiArray): _MLFeatureValue;
    static featureValueWithPixelBuffer$(value: NobjcObject): _MLFeatureValue;
    static featureValueWithSequence$(sequence: _MLSequence): _MLFeatureValue;
    /** Represent an undefined value of a specified type */
    static undefinedFeatureValueWithType$(type: MLFeatureType): _MLFeatureValue;
    /**
     * For encoding a sparse feature set or for encoding probabilities. Input keys that are not NSNumber * or NSString * are rejected on construction and return a MLModelErrorFeatureTypeMismatch error. Further validation for consistency occurs on evaluation
     */
    static featureValueWithDictionary$error$(value: _NSDictionary, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from an image on disk. Orientation is read from Exif if avaiable
     */
    static featureValueWithImageAtURL$pixelsWide$pixelsHigh$pixelFormatType$options$error$(url: _NSURL, pixelsWide: number, pixelsHigh: number, pixelFormatType: number, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from an image on disk, using a model specified image constraint. Orientation is read from Exif if avaiable
     */
    static featureValueWithImageAtURL$constraint$options$error$(url: _NSURL, constraint: _MLImageConstraint, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from CGImage (orientation is assumed to be kCGImagePropertyOrientationUp)
     */
    static featureValueWithCGImage$pixelsWide$pixelsHigh$pixelFormatType$options$error$(cgImage: Uint8Array, pixelsWide: number, pixelsHigh: number, pixelFormatType: number, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from CGImage, using the size and type information required by feature description (orientation is assumed to be kCGImagePropertyOrientationUp)
     */
    static featureValueWithCGImage$constraint$options$error$(cgImage: Uint8Array, constraint: _MLImageConstraint, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from an image on disk. The passed in orientation supersedes any in the file
     */
    static featureValueWithImageAtURL$orientation$pixelsWide$pixelsHigh$pixelFormatType$options$error$(url: _NSURL, orientation: NobjcObject, pixelsWide: number, pixelsHigh: number, pixelFormatType: number, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from an image on disk using a model specified image constraint. The passed in orientation supersedes any in the file
     */
    static featureValueWithImageAtURL$orientation$constraint$options$error$(url: _NSURL, orientation: NobjcObject, constraint: _MLImageConstraint, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /** Construct image feature value from CGImage w/ specified orientation */
    static featureValueWithCGImage$orientation$pixelsWide$pixelsHigh$pixelFormatType$options$error$(cgImage: Uint8Array, orientation: NobjcObject, pixelsWide: number, pixelsHigh: number, pixelFormatType: number, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * Construct image feature value from CGImage w/ specified orientation, using the size and type information required by feature description
     */
    static featureValueWithCGImage$orientation$constraint$options$error$(cgImage: Uint8Array, orientation: NobjcObject, constraint: _MLImageConstraint, options: _NSDictionary | null, error: NobjcObject | null): _MLFeatureValue | null;
    /**
     * @abstract Returns a Boolean value that indicates whether a feature value is equal to another. @discussion If the types of the MLFeatureValue objects "self" and "value" are integer in one case and double in the other (in either order) then those mixed mode numeric values are compared as NSNumbers. Otherwise if the types of the MLFeatureValue objects are different NO is returned. When "self" and "value" are both PixelBuffer MLFeatureValue types, only their CVPixelBufferRef values are compared for equality, the underlying arrays of pixelValues are not examined. [So, distinct PixelBuffer MLFeatureValue objects with distinct CVPixelBufferRef values which encapsulate the same array of pixels will compare *not* equal.] For all other (matching) MLFeatureValue types, the BOOL value returned is the result of comparing "self" with "value" via isEqualToNumber:, isEqualToString:, isEqualtoDictionary:, isEqualToMultiArray:, isEqualToArray: as chosen by the MLFeatureValue types.
     */
    isEqualToFeatureValue$(value: _MLFeatureValue): boolean;
    /** Type of the value for which the corresponding property below is held */
    type(): MLFeatureType;
    /** True if the value represents a missing or undefined value */
    undefined(): boolean;
    /** Populated value if the type is MLFeatureTypeInt64 */
    int64Value(): number;
    /** Populated value if the type is MLFeatureTypeDouble */
    doubleValue(): number;
    /** Populated value if the type is MLFeatureTypeString */
    stringValue(): _NSString;
    /** Populated value if the type is MLFeatureTypeMultiArray */
    multiArrayValue(): _MLMultiArray | null;
    /** Populated value if the type is MLFeatureTypeDictionary */
    dictionaryValue(): _NSDictionary;
    /** Populated value if the type is MLFeatureTypeImage */
    imageBufferValue(): NobjcObject | null;
    /** Populated value if the type is MLFeatureTypeSequence */
    sequenceValue(): _MLSequence | null;
}
export interface _MLFeatureValue extends _NSCopying, _NSSecureCoding {
}
