use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-contacts")]
use objc2_contacts::*;
use crate::*;
extern_protocol!(
pub unsafe trait CNContactPickerDelegate: NSObjectProtocol {
#[cfg(all(feature = "CNContactPicker", feature = "objc2-contacts"))]
#[optional]
#[unsafe(method(contactPicker:didSelectContact:))]
#[unsafe(method_family = none)]
unsafe fn contactPicker_didSelectContact(
&self,
picker: &CNContactPicker,
contact: &CNContact,
);
#[cfg(all(feature = "CNContactPicker", feature = "objc2-contacts"))]
#[optional]
#[unsafe(method(contactPicker:didSelectContactProperty:))]
#[unsafe(method_family = none)]
unsafe fn contactPicker_didSelectContactProperty(
&self,
picker: &CNContactPicker,
contact_property: &CNContactProperty,
);
#[cfg(feature = "CNContactPicker")]
#[optional]
#[unsafe(method(contactPickerWillClose:))]
#[unsafe(method_family = none)]
unsafe fn contactPickerWillClose(&self, picker: &CNContactPicker);
#[cfg(feature = "CNContactPicker")]
#[optional]
#[unsafe(method(contactPickerDidClose:))]
#[unsafe(method_family = none)]
unsafe fn contactPickerDidClose(&self, picker: &CNContactPicker);
}
);