import type { NobjcObject } from "objc-js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MLDictionaryFeatureProvider } from "../CoreML/MLDictionaryFeatureProvider.js";
import type { _MLFeatureProvider } from "../CoreML/MLFeatureProvider.js";
import type { _MLModel } from "../CoreML/MLModel.js";
export declare class _VNCoreMLModel extends _NSObject {
    static alloc(): _VNCoreMLModel;
    static new(): _VNCoreMLModel;
    init(): _VNCoreMLModel;
    /**
     * Create a model container to be used with VNCoreMLRequest based on a Core ML model. This can fail if the model is not supported. Examples for a model that is not supported is a model that does not take an image as any of its inputs. The MLModel from CoreML to be used. Returns the error code and description, if the model is not supported.
     */
    static modelForMLModel$error$(model: _MLModel, error: NobjcObject | null): _VNCoreMLModel | null;
    /**
     * The name of the MLFeatureValue that Vision will set from the VNRequestHandler. Vision will use the first input it finds by default but it can be set to another featureName instead.
     */
    inputImageFeatureName(): _NSString;
    setInputImageFeatureName$(value: _NSString): void;
    /**
     * An optional object conforming to the MLFeatureProvider protocol that is used by the model during the predict call to support inputs that are not supplied by Vision. Vision will provide the image for the inputImageFeatureName from the the VNRequestHandler. A feature provider is necessary for models that have more than one input and require those parameters to be set. Models that only have one image input will not use the feature provider as that input will be set by Vision.
     */
    featureProvider(): _MLDictionaryFeatureProvider | null;
    setFeatureProvider$(value: _MLFeatureProvider | null): void;
}
