use core::ffi::*;
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 THCredentials;
);
extern_conformance!(
unsafe impl NSCoding for THCredentials {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for THCredentials {}
);
extern_conformance!(
unsafe impl NSSecureCoding for THCredentials {}
);
impl THCredentials {
extern_methods!(
#[unsafe(method(networkName))]
#[unsafe(method_family = none)]
pub unsafe fn networkName(&self) -> Option<Retained<NSString>>;
#[unsafe(method(extendedPANID))]
#[unsafe(method_family = none)]
pub unsafe fn extendedPANID(&self) -> Option<Retained<NSData>>;
#[unsafe(method(borderAgentID))]
#[unsafe(method_family = none)]
pub unsafe fn borderAgentID(&self) -> Option<Retained<NSData>>;
#[unsafe(method(activeOperationalDataSet))]
#[unsafe(method_family = none)]
pub unsafe fn activeOperationalDataSet(&self) -> Option<Retained<NSData>>;
#[unsafe(method(networkKey))]
#[unsafe(method_family = none)]
pub unsafe fn networkKey(&self) -> Option<Retained<NSData>>;
#[unsafe(method(PSKC))]
#[unsafe(method_family = none)]
pub unsafe fn PSKC(&self) -> Option<Retained<NSData>>;
#[unsafe(method(channel))]
#[unsafe(method_family = none)]
pub unsafe fn channel(&self) -> u8;
#[unsafe(method(setChannel:))]
#[unsafe(method_family = none)]
pub unsafe fn setChannel(&self, channel: u8);
#[unsafe(method(panID))]
#[unsafe(method_family = none)]
pub unsafe fn panID(&self) -> Option<Retained<NSData>>;
#[unsafe(method(creationDate))]
#[unsafe(method_family = none)]
pub unsafe fn creationDate(&self) -> Option<Retained<NSDate>>;
#[unsafe(method(lastModificationDate))]
#[unsafe(method_family = none)]
pub unsafe fn lastModificationDate(&self) -> Option<Retained<NSDate>>;
#[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>;
);
}