objc2_ui_kit/generated/
UITextInputTraits.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextautocapitalizationtype?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct UITextAutocapitalizationType(pub NSInteger);
15impl UITextAutocapitalizationType {
16    #[doc(alias = "UITextAutocapitalizationTypeNone")]
17    pub const None: Self = Self(0);
18    #[doc(alias = "UITextAutocapitalizationTypeWords")]
19    pub const Words: Self = Self(1);
20    #[doc(alias = "UITextAutocapitalizationTypeSentences")]
21    pub const Sentences: Self = Self(2);
22    #[doc(alias = "UITextAutocapitalizationTypeAllCharacters")]
23    pub const AllCharacters: Self = Self(3);
24}
25
26unsafe impl Encode for UITextAutocapitalizationType {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for UITextAutocapitalizationType {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextautocorrectiontype?language=objc)
35// NS_ENUM
36#[repr(transparent)]
37#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
38pub struct UITextAutocorrectionType(pub NSInteger);
39impl UITextAutocorrectionType {
40    #[doc(alias = "UITextAutocorrectionTypeDefault")]
41    pub const Default: Self = Self(0);
42    #[doc(alias = "UITextAutocorrectionTypeNo")]
43    pub const No: Self = Self(1);
44    #[doc(alias = "UITextAutocorrectionTypeYes")]
45    pub const Yes: Self = Self(2);
46}
47
48unsafe impl Encode for UITextAutocorrectionType {
49    const ENCODING: Encoding = NSInteger::ENCODING;
50}
51
52unsafe impl RefEncode for UITextAutocorrectionType {
53    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
54}
55
56/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextspellcheckingtype?language=objc)
57// NS_ENUM
58#[repr(transparent)]
59#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
60pub struct UITextSpellCheckingType(pub NSInteger);
61impl UITextSpellCheckingType {
62    #[doc(alias = "UITextSpellCheckingTypeDefault")]
63    pub const Default: Self = Self(0);
64    #[doc(alias = "UITextSpellCheckingTypeNo")]
65    pub const No: Self = Self(1);
66    #[doc(alias = "UITextSpellCheckingTypeYes")]
67    pub const Yes: Self = Self(2);
68}
69
70unsafe impl Encode for UITextSpellCheckingType {
71    const ENCODING: Encoding = NSInteger::ENCODING;
72}
73
74unsafe impl RefEncode for UITextSpellCheckingType {
75    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
76}
77
78/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextsmartquotestype?language=objc)
79// NS_ENUM
80#[repr(transparent)]
81#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
82pub struct UITextSmartQuotesType(pub NSInteger);
83impl UITextSmartQuotesType {
84    #[doc(alias = "UITextSmartQuotesTypeDefault")]
85    pub const Default: Self = Self(0);
86    #[doc(alias = "UITextSmartQuotesTypeNo")]
87    pub const No: Self = Self(1);
88    #[doc(alias = "UITextSmartQuotesTypeYes")]
89    pub const Yes: Self = Self(2);
90}
91
92unsafe impl Encode for UITextSmartQuotesType {
93    const ENCODING: Encoding = NSInteger::ENCODING;
94}
95
96unsafe impl RefEncode for UITextSmartQuotesType {
97    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
98}
99
100/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextsmartdashestype?language=objc)
101// NS_ENUM
102#[repr(transparent)]
103#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
104pub struct UITextSmartDashesType(pub NSInteger);
105impl UITextSmartDashesType {
106    #[doc(alias = "UITextSmartDashesTypeDefault")]
107    pub const Default: Self = Self(0);
108    #[doc(alias = "UITextSmartDashesTypeNo")]
109    pub const No: Self = Self(1);
110    #[doc(alias = "UITextSmartDashesTypeYes")]
111    pub const Yes: Self = Self(2);
112}
113
114unsafe impl Encode for UITextSmartDashesType {
115    const ENCODING: Encoding = NSInteger::ENCODING;
116}
117
118unsafe impl RefEncode for UITextSmartDashesType {
119    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
120}
121
122/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextsmartinsertdeletetype?language=objc)
123// NS_ENUM
124#[repr(transparent)]
125#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
126pub struct UITextSmartInsertDeleteType(pub NSInteger);
127impl UITextSmartInsertDeleteType {
128    #[doc(alias = "UITextSmartInsertDeleteTypeDefault")]
129    pub const Default: Self = Self(0);
130    #[doc(alias = "UITextSmartInsertDeleteTypeNo")]
131    pub const No: Self = Self(1);
132    #[doc(alias = "UITextSmartInsertDeleteTypeYes")]
133    pub const Yes: Self = Self(2);
134}
135
136unsafe impl Encode for UITextSmartInsertDeleteType {
137    const ENCODING: Encoding = NSInteger::ENCODING;
138}
139
140unsafe impl RefEncode for UITextSmartInsertDeleteType {
141    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
142}
143
144/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextinlinepredictiontype?language=objc)
145// NS_ENUM
146#[repr(transparent)]
147#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
148pub struct UITextInlinePredictionType(pub NSInteger);
149impl UITextInlinePredictionType {
150    #[doc(alias = "UITextInlinePredictionTypeDefault")]
151    pub const Default: Self = Self(0);
152    #[doc(alias = "UITextInlinePredictionTypeNo")]
153    pub const No: Self = Self(1);
154    #[doc(alias = "UITextInlinePredictionTypeYes")]
155    pub const Yes: Self = Self(2);
156}
157
158unsafe impl Encode for UITextInlinePredictionType {
159    const ENCODING: Encoding = NSInteger::ENCODING;
160}
161
162unsafe impl RefEncode for UITextInlinePredictionType {
163    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
164}
165
166/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextmathexpressioncompletiontype?language=objc)
167// NS_ENUM
168#[repr(transparent)]
169#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
170pub struct UITextMathExpressionCompletionType(pub NSInteger);
171impl UITextMathExpressionCompletionType {
172    #[doc(alias = "UITextMathExpressionCompletionTypeDefault")]
173    pub const Default: Self = Self(0);
174    #[doc(alias = "UITextMathExpressionCompletionTypeNo")]
175    pub const No: Self = Self(1);
176    #[doc(alias = "UITextMathExpressionCompletionTypeYes")]
177    pub const Yes: Self = Self(2);
178}
179
180unsafe impl Encode for UITextMathExpressionCompletionType {
181    const ENCODING: Encoding = NSInteger::ENCODING;
182}
183
184unsafe impl RefEncode for UITextMathExpressionCompletionType {
185    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
186}
187
188/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uikeyboardtype?language=objc)
189// NS_ENUM
190#[repr(transparent)]
191#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
192pub struct UIKeyboardType(pub NSInteger);
193impl UIKeyboardType {
194    #[doc(alias = "UIKeyboardTypeDefault")]
195    pub const Default: Self = Self(0);
196    #[doc(alias = "UIKeyboardTypeASCIICapable")]
197    pub const ASCIICapable: Self = Self(1);
198    #[doc(alias = "UIKeyboardTypeNumbersAndPunctuation")]
199    pub const NumbersAndPunctuation: Self = Self(2);
200    #[doc(alias = "UIKeyboardTypeURL")]
201    pub const URL: Self = Self(3);
202    #[doc(alias = "UIKeyboardTypeNumberPad")]
203    pub const NumberPad: Self = Self(4);
204    #[doc(alias = "UIKeyboardTypePhonePad")]
205    pub const PhonePad: Self = Self(5);
206    #[doc(alias = "UIKeyboardTypeNamePhonePad")]
207    pub const NamePhonePad: Self = Self(6);
208    #[doc(alias = "UIKeyboardTypeEmailAddress")]
209    pub const EmailAddress: Self = Self(7);
210    #[doc(alias = "UIKeyboardTypeDecimalPad")]
211    pub const DecimalPad: Self = Self(8);
212    #[doc(alias = "UIKeyboardTypeTwitter")]
213    pub const Twitter: Self = Self(9);
214    #[doc(alias = "UIKeyboardTypeWebSearch")]
215    pub const WebSearch: Self = Self(10);
216    #[doc(alias = "UIKeyboardTypeASCIICapableNumberPad")]
217    pub const ASCIICapableNumberPad: Self = Self(11);
218    #[doc(alias = "UIKeyboardTypeAlphabet")]
219    pub const Alphabet: Self = Self(UIKeyboardType::ASCIICapable.0);
220}
221
222unsafe impl Encode for UIKeyboardType {
223    const ENCODING: Encoding = NSInteger::ENCODING;
224}
225
226unsafe impl RefEncode for UIKeyboardType {
227    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
228}
229
230/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uikeyboardappearance?language=objc)
231// NS_ENUM
232#[repr(transparent)]
233#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
234pub struct UIKeyboardAppearance(pub NSInteger);
235impl UIKeyboardAppearance {
236    #[doc(alias = "UIKeyboardAppearanceDefault")]
237    pub const Default: Self = Self(0);
238    #[doc(alias = "UIKeyboardAppearanceDark")]
239    pub const Dark: Self = Self(1);
240    #[doc(alias = "UIKeyboardAppearanceLight")]
241    pub const Light: Self = Self(2);
242    #[doc(alias = "UIKeyboardAppearanceAlert")]
243    pub const Alert: Self = Self(UIKeyboardAppearance::Dark.0);
244}
245
246unsafe impl Encode for UIKeyboardAppearance {
247    const ENCODING: Encoding = NSInteger::ENCODING;
248}
249
250unsafe impl RefEncode for UIKeyboardAppearance {
251    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
252}
253
254/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uireturnkeytype?language=objc)
255// NS_ENUM
256#[repr(transparent)]
257#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
258pub struct UIReturnKeyType(pub NSInteger);
259impl UIReturnKeyType {
260    #[doc(alias = "UIReturnKeyDefault")]
261    pub const Default: Self = Self(0);
262    #[doc(alias = "UIReturnKeyGo")]
263    pub const Go: Self = Self(1);
264    #[doc(alias = "UIReturnKeyGoogle")]
265    pub const Google: Self = Self(2);
266    #[doc(alias = "UIReturnKeyJoin")]
267    pub const Join: Self = Self(3);
268    #[doc(alias = "UIReturnKeyNext")]
269    pub const Next: Self = Self(4);
270    #[doc(alias = "UIReturnKeyRoute")]
271    pub const Route: Self = Self(5);
272    #[doc(alias = "UIReturnKeySearch")]
273    pub const Search: Self = Self(6);
274    #[doc(alias = "UIReturnKeySend")]
275    pub const Send: Self = Self(7);
276    #[doc(alias = "UIReturnKeyYahoo")]
277    pub const Yahoo: Self = Self(8);
278    #[doc(alias = "UIReturnKeyDone")]
279    pub const Done: Self = Self(9);
280    #[doc(alias = "UIReturnKeyEmergencyCall")]
281    pub const EmergencyCall: Self = Self(10);
282    #[doc(alias = "UIReturnKeyContinue")]
283    pub const Continue: Self = Self(11);
284}
285
286unsafe impl Encode for UIReturnKeyType {
287    const ENCODING: Encoding = NSInteger::ENCODING;
288}
289
290unsafe impl RefEncode for UIReturnKeyType {
291    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
292}
293
294/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiwritingtoolsbehavior?language=objc)
295// NS_ENUM
296#[repr(transparent)]
297#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
298pub struct UIWritingToolsBehavior(pub NSInteger);
299impl UIWritingToolsBehavior {
300    /// Writing Tools will ignore this view
301    #[doc(alias = "UIWritingToolsBehaviorNone")]
302    pub const None: Self = Self(-1);
303    /// System-defined behavior, may resolve to `None`, `Complete`, or `Limited`
304    #[doc(alias = "UIWritingToolsBehaviorDefault")]
305    pub const Default: Self = Self(0);
306    /// The complete inline-editing experience will be provided if possible.
307    #[doc(alias = "UIWritingToolsBehaviorComplete")]
308    pub const Complete: Self = Self(1);
309    /// The limited, overlay-panel experience will be provided if possible.
310    #[doc(alias = "UIWritingToolsBehaviorLimited")]
311    pub const Limited: Self = Self(2);
312}
313
314unsafe impl Encode for UIWritingToolsBehavior {
315    const ENCODING: Encoding = NSInteger::ENCODING;
316}
317
318unsafe impl RefEncode for UIWritingToolsBehavior {
319    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
320}
321
322/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiwritingtoolsresultoptions?language=objc)
323// NS_OPTIONS
324#[repr(transparent)]
325#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
326pub struct UIWritingToolsResultOptions(pub NSUInteger);
327bitflags::bitflags! {
328    impl UIWritingToolsResultOptions: NSUInteger {
329/// System-defined behavior
330        #[doc(alias = "UIWritingToolsResultDefault")]
331        const Default = 0;
332/// Writing Tools will provide plain text in proofreading suggestions or rewrites
333        #[doc(alias = "UIWritingToolsResultPlainText")]
334        const PlainText = 1<<0;
335/// As well as plain text, Writing Tools will provide text attributes in proofreading suggestions or rewrites that are natively supported or known to be easily adopted (such as lists)
336        #[doc(alias = "UIWritingToolsResultRichText")]
337        const RichText = 1<<1;
338/// implies `RichText`,  and Writing Tools may provide attributes for list layout
339        #[doc(alias = "UIWritingToolsResultList")]
340        const List = 1<<2;
341/// implies `RichText`,  and Writing Tools may provide attributes for tabular layout
342        #[doc(alias = "UIWritingToolsResultTable")]
343        const Table = 1<<3;
344    }
345}
346
347unsafe impl Encode for UIWritingToolsResultOptions {
348    const ENCODING: Encoding = NSUInteger::ENCODING;
349}
350
351unsafe impl RefEncode for UIWritingToolsResultOptions {
352    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
353}
354
355/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttype?language=objc)
356// NS_TYPED_ENUM
357pub type UITextContentType = NSString;
358
359extern_class!(
360    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextinputpasswordrules?language=objc)
361    #[unsafe(super(NSObject))]
362    #[thread_kind = MainThreadOnly]
363    #[derive(Debug, PartialEq, Eq, Hash)]
364    pub struct UITextInputPasswordRules;
365);
366
367extern_conformance!(
368    unsafe impl NSCoding for UITextInputPasswordRules {}
369);
370
371extern_conformance!(
372    unsafe impl NSCopying for UITextInputPasswordRules {}
373);
374
375unsafe impl CopyingHelper for UITextInputPasswordRules {
376    type Result = Self;
377}
378
379extern_conformance!(
380    unsafe impl NSObjectProtocol for UITextInputPasswordRules {}
381);
382
383extern_conformance!(
384    unsafe impl NSSecureCoding for UITextInputPasswordRules {}
385);
386
387impl UITextInputPasswordRules {
388    extern_methods!(
389        #[unsafe(method(passwordRulesDescriptor))]
390        #[unsafe(method_family = none)]
391        pub unsafe fn passwordRulesDescriptor(&self) -> Retained<NSString>;
392
393        #[unsafe(method(init))]
394        #[unsafe(method_family = init)]
395        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
396
397        #[unsafe(method(new))]
398        #[unsafe(method_family = new)]
399        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
400
401        #[unsafe(method(passwordRulesWithDescriptor:))]
402        #[unsafe(method_family = none)]
403        pub unsafe fn passwordRulesWithDescriptor(
404            password_rules_descriptor: &NSString,
405            mtm: MainThreadMarker,
406        ) -> Retained<Self>;
407    );
408}
409
410extern_protocol!(
411    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextinputtraits?language=objc)
412    pub unsafe trait UITextInputTraits: NSObjectProtocol + MainThreadOnly {
413        #[optional]
414        #[unsafe(method(autocapitalizationType))]
415        #[unsafe(method_family = none)]
416        unsafe fn autocapitalizationType(&self) -> UITextAutocapitalizationType;
417
418        /// Setter for [`autocapitalizationType`][Self::autocapitalizationType].
419        #[optional]
420        #[unsafe(method(setAutocapitalizationType:))]
421        #[unsafe(method_family = none)]
422        unsafe fn setAutocapitalizationType(
423            &self,
424            autocapitalization_type: UITextAutocapitalizationType,
425        );
426
427        #[optional]
428        #[unsafe(method(autocorrectionType))]
429        #[unsafe(method_family = none)]
430        unsafe fn autocorrectionType(&self) -> UITextAutocorrectionType;
431
432        /// Setter for [`autocorrectionType`][Self::autocorrectionType].
433        #[optional]
434        #[unsafe(method(setAutocorrectionType:))]
435        #[unsafe(method_family = none)]
436        unsafe fn setAutocorrectionType(&self, autocorrection_type: UITextAutocorrectionType);
437
438        #[optional]
439        #[unsafe(method(spellCheckingType))]
440        #[unsafe(method_family = none)]
441        unsafe fn spellCheckingType(&self) -> UITextSpellCheckingType;
442
443        /// Setter for [`spellCheckingType`][Self::spellCheckingType].
444        #[optional]
445        #[unsafe(method(setSpellCheckingType:))]
446        #[unsafe(method_family = none)]
447        unsafe fn setSpellCheckingType(&self, spell_checking_type: UITextSpellCheckingType);
448
449        #[optional]
450        #[unsafe(method(smartQuotesType))]
451        #[unsafe(method_family = none)]
452        unsafe fn smartQuotesType(&self) -> UITextSmartQuotesType;
453
454        /// Setter for [`smartQuotesType`][Self::smartQuotesType].
455        #[optional]
456        #[unsafe(method(setSmartQuotesType:))]
457        #[unsafe(method_family = none)]
458        unsafe fn setSmartQuotesType(&self, smart_quotes_type: UITextSmartQuotesType);
459
460        #[optional]
461        #[unsafe(method(smartDashesType))]
462        #[unsafe(method_family = none)]
463        unsafe fn smartDashesType(&self) -> UITextSmartDashesType;
464
465        /// Setter for [`smartDashesType`][Self::smartDashesType].
466        #[optional]
467        #[unsafe(method(setSmartDashesType:))]
468        #[unsafe(method_family = none)]
469        unsafe fn setSmartDashesType(&self, smart_dashes_type: UITextSmartDashesType);
470
471        #[optional]
472        #[unsafe(method(smartInsertDeleteType))]
473        #[unsafe(method_family = none)]
474        unsafe fn smartInsertDeleteType(&self) -> UITextSmartInsertDeleteType;
475
476        /// Setter for [`smartInsertDeleteType`][Self::smartInsertDeleteType].
477        #[optional]
478        #[unsafe(method(setSmartInsertDeleteType:))]
479        #[unsafe(method_family = none)]
480        unsafe fn setSmartInsertDeleteType(
481            &self,
482            smart_insert_delete_type: UITextSmartInsertDeleteType,
483        );
484
485        #[optional]
486        #[unsafe(method(inlinePredictionType))]
487        #[unsafe(method_family = none)]
488        unsafe fn inlinePredictionType(&self) -> UITextInlinePredictionType;
489
490        /// Setter for [`inlinePredictionType`][Self::inlinePredictionType].
491        #[optional]
492        #[unsafe(method(setInlinePredictionType:))]
493        #[unsafe(method_family = none)]
494        unsafe fn setInlinePredictionType(
495            &self,
496            inline_prediction_type: UITextInlinePredictionType,
497        );
498
499        #[optional]
500        #[unsafe(method(mathExpressionCompletionType))]
501        #[unsafe(method_family = none)]
502        unsafe fn mathExpressionCompletionType(&self) -> UITextMathExpressionCompletionType;
503
504        /// Setter for [`mathExpressionCompletionType`][Self::mathExpressionCompletionType].
505        #[optional]
506        #[unsafe(method(setMathExpressionCompletionType:))]
507        #[unsafe(method_family = none)]
508        unsafe fn setMathExpressionCompletionType(
509            &self,
510            math_expression_completion_type: UITextMathExpressionCompletionType,
511        );
512
513        #[optional]
514        #[unsafe(method(keyboardType))]
515        #[unsafe(method_family = none)]
516        unsafe fn keyboardType(&self) -> UIKeyboardType;
517
518        /// Setter for [`keyboardType`][Self::keyboardType].
519        #[optional]
520        #[unsafe(method(setKeyboardType:))]
521        #[unsafe(method_family = none)]
522        unsafe fn setKeyboardType(&self, keyboard_type: UIKeyboardType);
523
524        #[optional]
525        #[unsafe(method(keyboardAppearance))]
526        #[unsafe(method_family = none)]
527        unsafe fn keyboardAppearance(&self) -> UIKeyboardAppearance;
528
529        /// Setter for [`keyboardAppearance`][Self::keyboardAppearance].
530        #[optional]
531        #[unsafe(method(setKeyboardAppearance:))]
532        #[unsafe(method_family = none)]
533        unsafe fn setKeyboardAppearance(&self, keyboard_appearance: UIKeyboardAppearance);
534
535        #[optional]
536        #[unsafe(method(returnKeyType))]
537        #[unsafe(method_family = none)]
538        unsafe fn returnKeyType(&self) -> UIReturnKeyType;
539
540        /// Setter for [`returnKeyType`][Self::returnKeyType].
541        #[optional]
542        #[unsafe(method(setReturnKeyType:))]
543        #[unsafe(method_family = none)]
544        unsafe fn setReturnKeyType(&self, return_key_type: UIReturnKeyType);
545
546        #[optional]
547        #[unsafe(method(enablesReturnKeyAutomatically))]
548        #[unsafe(method_family = none)]
549        unsafe fn enablesReturnKeyAutomatically(&self) -> bool;
550
551        /// Setter for [`enablesReturnKeyAutomatically`][Self::enablesReturnKeyAutomatically].
552        #[optional]
553        #[unsafe(method(setEnablesReturnKeyAutomatically:))]
554        #[unsafe(method_family = none)]
555        unsafe fn setEnablesReturnKeyAutomatically(&self, enables_return_key_automatically: bool);
556
557        #[optional]
558        #[unsafe(method(isSecureTextEntry))]
559        #[unsafe(method_family = none)]
560        unsafe fn isSecureTextEntry(&self) -> bool;
561
562        /// Setter for [`isSecureTextEntry`][Self::isSecureTextEntry].
563        #[optional]
564        #[unsafe(method(setSecureTextEntry:))]
565        #[unsafe(method_family = none)]
566        unsafe fn setSecureTextEntry(&self, secure_text_entry: bool);
567
568        #[optional]
569        #[unsafe(method(textContentType))]
570        #[unsafe(method_family = none)]
571        unsafe fn textContentType(&self) -> Retained<UITextContentType>;
572
573        /// Setter for [`textContentType`][Self::textContentType].
574        #[optional]
575        #[unsafe(method(setTextContentType:))]
576        #[unsafe(method_family = none)]
577        unsafe fn setTextContentType(&self, text_content_type: Option<&UITextContentType>);
578
579        #[optional]
580        #[unsafe(method(passwordRules))]
581        #[unsafe(method_family = none)]
582        unsafe fn passwordRules(&self) -> Option<Retained<UITextInputPasswordRules>>;
583
584        /// Setter for [`passwordRules`][Self::passwordRules].
585        #[optional]
586        #[unsafe(method(setPasswordRules:))]
587        #[unsafe(method_family = none)]
588        unsafe fn setPasswordRules(&self, password_rules: Option<&UITextInputPasswordRules>);
589
590        #[optional]
591        #[unsafe(method(writingToolsBehavior))]
592        #[unsafe(method_family = none)]
593        unsafe fn writingToolsBehavior(&self) -> UIWritingToolsBehavior;
594
595        /// Setter for [`writingToolsBehavior`][Self::writingToolsBehavior].
596        #[optional]
597        #[unsafe(method(setWritingToolsBehavior:))]
598        #[unsafe(method_family = none)]
599        unsafe fn setWritingToolsBehavior(&self, writing_tools_behavior: UIWritingToolsBehavior);
600
601        #[optional]
602        #[unsafe(method(allowedWritingToolsResultOptions))]
603        #[unsafe(method_family = none)]
604        unsafe fn allowedWritingToolsResultOptions(&self) -> UIWritingToolsResultOptions;
605
606        /// Setter for [`allowedWritingToolsResultOptions`][Self::allowedWritingToolsResultOptions].
607        #[optional]
608        #[unsafe(method(setAllowedWritingToolsResultOptions:))]
609        #[unsafe(method_family = none)]
610        unsafe fn setAllowedWritingToolsResultOptions(
611            &self,
612            allowed_writing_tools_result_options: UIWritingToolsResultOptions,
613        );
614
615        #[cfg(feature = "UIConversationContext")]
616        /// A reference to a conversation, such as a mail or messaging thread.
617        ///
618        /// Set this conversation context before the keyboard appears; the keyboard uses this context to initialize its conversation context value. When updates occur in the conversation, call ``UITextInputDelegate/conversationContext(_:didChange:)`` on the ``inputDelegate`` property for ``UITextInput`` objects, such as UITextView/inputDelegate`` or ``UITextField/inputDelegate``.
619        #[optional]
620        #[unsafe(method(conversationContext))]
621        #[unsafe(method_family = none)]
622        unsafe fn conversationContext(&self) -> Option<Retained<UIConversationContext>>;
623
624        #[cfg(feature = "UIConversationContext")]
625        /// Setter for [`conversationContext`][Self::conversationContext].
626        #[optional]
627        #[unsafe(method(setConversationContext:))]
628        #[unsafe(method_family = none)]
629        unsafe fn setConversationContext(
630            &self,
631            conversation_context: Option<&UIConversationContext>,
632        );
633    }
634);
635
636extern "C" {
637    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypename?language=objc)
638    pub static UITextContentTypeName: &'static UITextContentType;
639}
640
641extern "C" {
642    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypenameprefix?language=objc)
643    pub static UITextContentTypeNamePrefix: &'static UITextContentType;
644}
645
646extern "C" {
647    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypegivenname?language=objc)
648    pub static UITextContentTypeGivenName: &'static UITextContentType;
649}
650
651extern "C" {
652    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypemiddlename?language=objc)
653    pub static UITextContentTypeMiddleName: &'static UITextContentType;
654}
655
656extern "C" {
657    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypefamilyname?language=objc)
658    pub static UITextContentTypeFamilyName: &'static UITextContentType;
659}
660
661extern "C" {
662    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypenamesuffix?language=objc)
663    pub static UITextContentTypeNameSuffix: &'static UITextContentType;
664}
665
666extern "C" {
667    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypenickname?language=objc)
668    pub static UITextContentTypeNickname: &'static UITextContentType;
669}
670
671extern "C" {
672    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypejobtitle?language=objc)
673    pub static UITextContentTypeJobTitle: &'static UITextContentType;
674}
675
676extern "C" {
677    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeorganizationname?language=objc)
678    pub static UITextContentTypeOrganizationName: &'static UITextContentType;
679}
680
681extern "C" {
682    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypelocation?language=objc)
683    pub static UITextContentTypeLocation: &'static UITextContentType;
684}
685
686extern "C" {
687    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypefullstreetaddress?language=objc)
688    pub static UITextContentTypeFullStreetAddress: &'static UITextContentType;
689}
690
691extern "C" {
692    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypestreetaddressline1?language=objc)
693    pub static UITextContentTypeStreetAddressLine1: &'static UITextContentType;
694}
695
696extern "C" {
697    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypestreetaddressline2?language=objc)
698    pub static UITextContentTypeStreetAddressLine2: &'static UITextContentType;
699}
700
701extern "C" {
702    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeaddresscity?language=objc)
703    pub static UITextContentTypeAddressCity: &'static UITextContentType;
704}
705
706extern "C" {
707    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeaddressstate?language=objc)
708    pub static UITextContentTypeAddressState: &'static UITextContentType;
709}
710
711extern "C" {
712    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeaddresscityandstate?language=objc)
713    pub static UITextContentTypeAddressCityAndState: &'static UITextContentType;
714}
715
716extern "C" {
717    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypesublocality?language=objc)
718    pub static UITextContentTypeSublocality: &'static UITextContentType;
719}
720
721extern "C" {
722    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecountryname?language=objc)
723    pub static UITextContentTypeCountryName: &'static UITextContentType;
724}
725
726extern "C" {
727    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypepostalcode?language=objc)
728    pub static UITextContentTypePostalCode: &'static UITextContentType;
729}
730
731extern "C" {
732    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypetelephonenumber?language=objc)
733    pub static UITextContentTypeTelephoneNumber: &'static UITextContentType;
734}
735
736extern "C" {
737    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeemailaddress?language=objc)
738    pub static UITextContentTypeEmailAddress: &'static UITextContentType;
739}
740
741extern "C" {
742    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeurl?language=objc)
743    pub static UITextContentTypeURL: &'static UITextContentType;
744}
745
746extern "C" {
747    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardnumber?language=objc)
748    pub static UITextContentTypeCreditCardNumber: &'static UITextContentType;
749}
750
751extern "C" {
752    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeusername?language=objc)
753    pub static UITextContentTypeUsername: &'static UITextContentType;
754}
755
756extern "C" {
757    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypepassword?language=objc)
758    pub static UITextContentTypePassword: &'static UITextContentType;
759}
760
761extern "C" {
762    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypenewpassword?language=objc)
763    pub static UITextContentTypeNewPassword: &'static UITextContentType;
764}
765
766extern "C" {
767    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeonetimecode?language=objc)
768    pub static UITextContentTypeOneTimeCode: &'static UITextContentType;
769}
770
771extern "C" {
772    /// Parcel tracking numbers such as "FedEx 8602 9191 3550", "1Z50T0536891664106", and "729445720428778".
773    ///
774    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeshipmenttrackingnumber?language=objc)
775    pub static UITextContentTypeShipmentTrackingNumber: &'static UITextContentType;
776}
777
778extern "C" {
779    /// Airline flight numbers such as "CZ # 1234", "AA212", and "SW Flight 573".
780    ///
781    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypeflightnumber?language=objc)
782    pub static UITextContentTypeFlightNumber: &'static UITextContentType;
783}
784
785extern "C" {
786    /// Dates, times, or durations such as "7-3-2021" or "This Saturday", "12:30", and "10-11am", respectively.
787    ///
788    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypedatetime?language=objc)
789    pub static UITextContentTypeDateTime: &'static UITextContentType;
790}
791
792extern "C" {
793    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypebirthdate?language=objc)
794    pub static UITextContentTypeBirthdate: &'static UITextContentType;
795}
796
797extern "C" {
798    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypebirthdateday?language=objc)
799    pub static UITextContentTypeBirthdateDay: &'static UITextContentType;
800}
801
802extern "C" {
803    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypebirthdatemonth?language=objc)
804    pub static UITextContentTypeBirthdateMonth: &'static UITextContentType;
805}
806
807extern "C" {
808    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypebirthdateyear?language=objc)
809    pub static UITextContentTypeBirthdateYear: &'static UITextContentType;
810}
811
812extern "C" {
813    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardsecuritycode?language=objc)
814    pub static UITextContentTypeCreditCardSecurityCode: &'static UITextContentType;
815}
816
817extern "C" {
818    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardname?language=objc)
819    pub static UITextContentTypeCreditCardName: &'static UITextContentType;
820}
821
822extern "C" {
823    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardgivenname?language=objc)
824    pub static UITextContentTypeCreditCardGivenName: &'static UITextContentType;
825}
826
827extern "C" {
828    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardmiddlename?language=objc)
829    pub static UITextContentTypeCreditCardMiddleName: &'static UITextContentType;
830}
831
832extern "C" {
833    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardfamilyname?language=objc)
834    pub static UITextContentTypeCreditCardFamilyName: &'static UITextContentType;
835}
836
837extern "C" {
838    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardexpiration?language=objc)
839    pub static UITextContentTypeCreditCardExpiration: &'static UITextContentType;
840}
841
842extern "C" {
843    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardexpirationmonth?language=objc)
844    pub static UITextContentTypeCreditCardExpirationMonth: &'static UITextContentType;
845}
846
847extern "C" {
848    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardexpirationyear?language=objc)
849    pub static UITextContentTypeCreditCardExpirationYear: &'static UITextContentType;
850}
851
852extern "C" {
853    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecreditcardtype?language=objc)
854    pub static UITextContentTypeCreditCardType: &'static UITextContentType;
855}
856
857extern "C" {
858    /// eSIM activation
859    ///
860    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecellulareid?language=objc)
861    pub static UITextContentTypeCellularEID: &'static UITextContentType;
862}
863
864extern "C" {
865    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcontenttypecellularimei?language=objc)
866    pub static UITextContentTypeCellularIMEI: &'static UITextContentType;
867}