use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MLModelDescription;
);
extern_conformance!(
unsafe impl NSCoding for MLModelDescription {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MLModelDescription {}
);
extern_conformance!(
unsafe impl NSSecureCoding for MLModelDescription {}
);
impl MLModelDescription {
extern_methods!(
#[cfg(feature = "MLFeatureDescription")]
#[unsafe(method(inputDescriptionsByName))]
#[unsafe(method_family = none)]
pub unsafe fn inputDescriptionsByName(
&self,
) -> Retained<NSDictionary<NSString, MLFeatureDescription>>;
#[cfg(feature = "MLFeatureDescription")]
#[unsafe(method(outputDescriptionsByName))]
#[unsafe(method_family = none)]
pub unsafe fn outputDescriptionsByName(
&self,
) -> Retained<NSDictionary<NSString, MLFeatureDescription>>;
#[cfg(feature = "MLFeatureDescription")]
#[unsafe(method(stateDescriptionsByName))]
#[unsafe(method_family = none)]
pub unsafe fn stateDescriptionsByName(
&self,
) -> Retained<NSDictionary<NSString, MLFeatureDescription>>;
#[unsafe(method(predictedFeatureName))]
#[unsafe(method_family = none)]
pub unsafe fn predictedFeatureName(&self) -> Option<Retained<NSString>>;
#[unsafe(method(predictedProbabilitiesName))]
#[unsafe(method_family = none)]
pub unsafe fn predictedProbabilitiesName(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "MLModelMetadataKeys")]
#[unsafe(method(metadata))]
#[unsafe(method_family = none)]
pub unsafe fn metadata(&self) -> Retained<NSDictionary<MLModelMetadataKey, AnyObject>>;
#[unsafe(method(classLabels))]
#[unsafe(method_family = none)]
pub unsafe fn classLabels(&self) -> Option<Retained<NSArray<AnyObject>>>;
);
}
impl MLModelDescription {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
impl MLModelDescription {
extern_methods!(
#[unsafe(method(isUpdatable))]
#[unsafe(method_family = none)]
pub unsafe fn isUpdatable(&self) -> bool;
#[cfg(feature = "MLFeatureDescription")]
#[unsafe(method(trainingInputDescriptionsByName))]
#[unsafe(method_family = none)]
pub unsafe fn trainingInputDescriptionsByName(
&self,
) -> Retained<NSDictionary<NSString, MLFeatureDescription>>;
);
}
impl MLModelDescription {
extern_methods!(
#[cfg(all(
feature = "MLKey",
feature = "MLParameterDescription",
feature = "MLParameterKey"
))]
#[unsafe(method(parameterDescriptionsByKey))]
#[unsafe(method_family = none)]
pub unsafe fn parameterDescriptionsByKey(
&self,
) -> Retained<NSDictionary<MLParameterKey, MLParameterDescription>>;
);
}