//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uidatadetectortypes?language=objc)
// NS_OPTIONS
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIDataDetectorTypes(pub NSUInteger);
bitflags::bitflags! {
    impl UIDataDetectorTypes: NSUInteger {
        #[doc(alias = "UIDataDetectorTypePhoneNumber")]
        const PhoneNumber = 1<<0;
        #[doc(alias = "UIDataDetectorTypeLink")]
        const Link = 1<<1;
        #[doc(alias = "UIDataDetectorTypeAddress")]
        const Address = 1<<2;
        #[doc(alias = "UIDataDetectorTypeCalendarEvent")]
        const CalendarEvent = 1<<3;
        #[doc(alias = "UIDataDetectorTypeShipmentTrackingNumber")]
        const ShipmentTrackingNumber = 1<<4;
        #[doc(alias = "UIDataDetectorTypeFlightNumber")]
        const FlightNumber = 1<<5;
        #[doc(alias = "UIDataDetectorTypeLookupSuggestion")]
        const LookupSuggestion = 1<<6;
        #[doc(alias = "UIDataDetectorTypeMoney")]
        const Money = 1<<7;
        #[doc(alias = "UIDataDetectorTypePhysicalValue")]
        const PhysicalValue = 1<<8;
        #[doc(alias = "UIDataDetectorTypeNone")]
        const None = 0;
        #[doc(alias = "UIDataDetectorTypeAll")]
        const All = NSUIntegerMax as _;
    }
}

unsafe impl Encode for UIDataDetectorTypes {
    const ENCODING: Encoding = NSUInteger::ENCODING;
}

unsafe impl RefEncode for UIDataDetectorTypes {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
