use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait INSpeakable: NSObjectProtocol {
#[unsafe(method(spokenPhrase))]
#[unsafe(method_family = none)]
unsafe fn spokenPhrase(&self) -> Retained<NSString>;
#[unsafe(method(pronunciationHint))]
#[unsafe(method_family = none)]
unsafe fn pronunciationHint(&self) -> Option<Retained<NSString>>;
#[unsafe(method(vocabularyIdentifier))]
#[unsafe(method_family = none)]
unsafe fn vocabularyIdentifier(&self) -> Option<Retained<NSString>>;
#[unsafe(method(alternativeSpeakableMatches))]
#[unsafe(method_family = none)]
unsafe fn alternativeSpeakableMatches(
&self,
) -> Option<Retained<NSArray<ProtocolObject<dyn INSpeakable>>>>;
#[deprecated = "Please use vocabularyIdentifier"]
#[optional]
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
unsafe fn identifier(&self) -> Option<Retained<NSString>>;
}
);