use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated]
pub struct MLCEmbeddingDescriptor;
);
extern_conformance!(
unsafe impl NSCopying for MLCEmbeddingDescriptor {}
);
unsafe impl CopyingHelper for MLCEmbeddingDescriptor {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MLCEmbeddingDescriptor {}
);
impl MLCEmbeddingDescriptor {
extern_methods!(
#[deprecated]
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
#[deprecated]
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[deprecated]
#[unsafe(method(embeddingCount))]
#[unsafe(method_family = none)]
pub unsafe fn embeddingCount(&self) -> Retained<NSNumber>;
#[deprecated]
#[unsafe(method(embeddingDimension))]
#[unsafe(method_family = none)]
pub unsafe fn embeddingDimension(&self) -> Retained<NSNumber>;
#[deprecated]
#[unsafe(method(paddingIndex))]
#[unsafe(method_family = none)]
pub unsafe fn paddingIndex(&self) -> Option<Retained<NSNumber>>;
#[deprecated]
#[unsafe(method(maximumNorm))]
#[unsafe(method_family = none)]
pub unsafe fn maximumNorm(&self) -> Option<Retained<NSNumber>>;
#[deprecated]
#[unsafe(method(pNorm))]
#[unsafe(method_family = none)]
pub unsafe fn pNorm(&self) -> Option<Retained<NSNumber>>;
#[deprecated]
#[unsafe(method(scalesGradientByFrequency))]
#[unsafe(method_family = none)]
pub unsafe fn scalesGradientByFrequency(&self) -> bool;
#[deprecated]
#[unsafe(method(descriptorWithEmbeddingCount:embeddingDimension:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithEmbeddingCount_embeddingDimension(
embedding_count: &NSNumber,
embedding_dimension: &NSNumber,
) -> Option<Retained<Self>>;
#[deprecated]
#[unsafe(method(descriptorWithEmbeddingCount:embeddingDimension:paddingIndex:maximumNorm:pNorm:scalesGradientByFrequency:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithEmbeddingCount_embeddingDimension_paddingIndex_maximumNorm_pNorm_scalesGradientByFrequency(
embedding_count: &NSNumber,
embedding_dimension: &NSNumber,
padding_index: Option<&NSNumber>,
maximum_norm: Option<&NSNumber>,
p_norm: Option<&NSNumber>,
scales_gradient_by_frequency: bool,
) -> Option<Retained<Self>>;
);
}