#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, RGLResolutionType) {
  RGLResolutionTypeHD1920x1080 = 0,
  RGLResolutionTypeHD4K3840x2160 = 1,
} NS_SWIFT_NAME(ResolutionType);

typedef NS_ENUM(NSInteger, RGLResultType) {
  RGLResultTypeEmpty                          =   0,
  RGLResultTypeRawImage                       =   1,
  RGLResultTypeFileImage                      =   2,
  RGLResultTypeMrzOCRExtended                 =   3,
  RGLResultTypeBarCodes                       =   5,
  RGLResultTypeGraphics                       =   6,
  RGLResultTypeMrzTestQuality                 =   7,
  RGLResultTypeDocumentTypesCandidates        =   8,
  RGLResultTypeChosenDocumentTypeCandidate    =   9,
  RGLResultTypeDocumentsInfoList              =  10,
  RGLResultTypeOcrLexicalAnalyze              =  15,
  RGLResultTypeRawUncroppedImage              =  16,
  RGLResultTypeVisualOCRExtended              =  17,
  RGLResultTypeBarCodesTextData               =  18,
  RGLResultTypeBarCodesImageData              =  19,
  RGLResultTypeAuthenticity                   =  20,
  RGLResultTypeExpertAnalyze                  =  21,
  RGLResultTypeOcrLexicalAnalyzeEx            =  22,
  RGLResultTypeEosImage                       =  23,
  RGLResultTypeBayer                          =  24,
  RGLResultTypeMagneticStripe                 =  25,
  RGLResultTypeMagneticStripeTextData         =  26,
  RGLResultTypeFieldFileImage                 =  27,
  RGLResultTypeDatabaseCheck                  =  28,
  RGLResultTypeFingerprintTemplateISO         =  29,
  RGLResultTypeInputImageQuality              =  30,
  RGLResultTypeMrzPosition                    =  61,
  RGLResultTypeBarcodePosition                =  62,
  RGLResultTypeDocumentPosition               =  85,
  RGLResultTypeCustom                         = 100,
  RGLResultTypeRfidRawData                    = 101,
  RGLResultTypeRfidTextData                   = 102,
  RGLResultTypeRfidImageData                  = 103,
  RGLResultTypeRfidBinaryData                 = 104,
  RGLResultTypeRfidOriginalGraphics           = 105
} NS_SWIFT_NAME(ResultType);

typedef NS_ENUM(NSInteger, RGLFieldVerificationResult) {
  RGLFieldVerificationResultDisabled          =   0,
  RGLFieldVerificationResultVerified          =   1,
  RGLFieldVerificationResultNotVerified       =   2,
  RGLFieldVerificationResultCompareTrue       =   3,
  RGLFieldVerificationResultCompareFalse      =   4
} NS_SWIFT_NAME(FieldVerificationResult);

typedef NS_ENUM(NSInteger, RGLCheckResult) {
  RGLCheckResultError                         =   0,
  RGLCheckResultOk                            =   1,
  RGLCheckResultWasNotDone                    =   2
} NS_SWIFT_NAME(CheckResult);

typedef NS_ENUM(NSInteger, RGLAuthenticity) {
  RGLAuthenticityNone                           =   0,
  RGLAuthenticityUvLuminescence                 =   1,
  RGLAuthenticityIRB900                         =   2,
  RGLAuthenticityImagePattern                   =   4,
  RGLAuthenticityAxialProtection                =   8,
  RGLAuthenticityUVFibers                       =   16,
  RGLAuthenticityIRVisibility                   =   32,
  RGLAuthenticityOCRSecurityText                =   64,
  RGLAuthenticityIpi                            =   128,
  RGLAuthenticityPhotoEmbedType                 =   512,
  RGLAuthenticityHolograms                      =   4096,
  RGLAuthenticityPhotoArea                      =   8192,
  RGLAuthenticityPortraitComparison             =   32768,
  RGLAuthenticityBarcodeFormatCheck             =   65536,
  RGLAuthenticityKinegram                       =   131027,
  RGLAuthenticityHologramsDetection             =   524288,
} NS_SWIFT_NAME(Authenticity);

typedef NS_ENUM(NSInteger, RGLSecurityFeatureType) {
  RGLSecurityFeatureTypeNone                               =   -1,
  RGLSecurityFeatureTypeBlank                              =   0,
  RGLSecurityFeatureTypeFill                               =   1,
  RGLSecurityFeatureTypePhoto                              =   2,
  RGLSecurityFeatureTypeMrz                                =   3,
  RGLSecurityFeatureTypeFalseLuminescence                  =   4,
  RGLSecurityFeatureTypeHoloSimple                         =   5,
  RGLSecurityFeatureTypeHoloVerifyStatic                   =   6,
  RGLSecurityFeatureTypeHoloVerifyMultiStatic              =   7,
  RGLSecurityFeatureTypeHoloVerifyDinamic                  =   8,
  RGLSecurityFeatureTypePatternNotInterrupted              =   9,
  RGLSecurityFeatureTypePatternNotShifted                  =  10,
  RGLSecurityFeatureTypePatternSameColors                  =  11,
  RGLSecurityFeatureTypePatternIRInvisible                 =  12,
  RGLSecurityFeatureTypePhotoSizeCheck                     =  13,
  RGLSecurityFeatureTypePortraitComparisonVsGhost          =  14,
  RGLSecurityFeatureTypePortraitComparisonVsRFID           =  15,
  RGLSecurityFeatureTypePortraitComparisonVsVisual         =  16,
  RGLSecurityFeatureTypeBarcode                            =  17,
  RGLSecurityFeatureTypePatternDifferentLinesThickness     =  18,
  RGLSecurityFeatureTypePortraitComparisonVsCamera         =  19,
  RGLSecurityFeatureTypePortraitComparisonRFIDvsCamera     =  20,
  RGLSecurityFeatureTypeGhostPhoto                         =  21,
  RGLSecurityFeatureTypeClearGhostPhoto                    =  22,
  RGLSecurityFeatureTypeInvisibleObject                    =  23,
  RGLSecurityFeatureTypeLowContrastObject                  =  24,
  RGLSecurityFeatureTypePhotoColor                         =  25,
  RGLSecurityFeatureTypePhotoShape                         =  26,
  RGLSecurityFeatureTypePhotoCorners                       =  27,
  RGLSecurityFeatureTypeDocumentCancellingDetector         =  28
} NS_SWIFT_NAME(SecurityFeatureType);

typedef NS_ENUM(NSInteger, RGLFieldType) {
  RGLFieldTypeFt_Document_Class_Code = 0,
  RGLFieldTypeFt_Issuing_State_Code = 1,
  RGLFieldTypeFt_Document_Number = 2,
  RGLFieldTypeFt_Date_of_Expiry = 3,
  RGLFieldTypeFt_Date_of_Issue = 4,
  RGLFieldTypeFt_Date_of_Birth = 5,
  RGLFieldTypeFt_Place_of_Birth = 6,
  RGLFieldTypeFt_Personal_Number = 7,
  RGLFieldTypeFt_Surname = 8,
  RGLFieldTypeFt_Given_Names = 9,
  RGLFieldTypeFt_Mothers_Name = 10,
  RGLFieldTypeFt_Nationality = 11,
  RGLFieldTypeFt_Sex = 12,
  RGLFieldTypeFt_Height = 13,
  RGLFieldTypeFt_Weight = 14,
  RGLFieldTypeFt_Eyes_Color = 15,
  RGLFieldTypeFt_Hair_Color = 16,
  RGLFieldTypeFt_Address = 17,
  RGLFieldTypeFt_Donor = 18,
  RGLFieldTypeFt_Social_Security_Number = 19,
  RGLFieldTypeFt_DL_Class = 20,
  RGLFieldTypeFt_DL_Endorsed = 21,
  RGLFieldTypeFt_DL_Restriction_Code = 22,
  RGLFieldTypeFt_DL_Under_21_Date = 23,
  RGLFieldTypeFt_Authority = 24,
  RGLFieldTypeFt_Surname_And_Given_Names = 25,
  RGLFieldTypeFt_Nationality_Code = 26,
  RGLFieldTypeFt_Passport_Number = 27,
  RGLFieldTypeFt_Invitation_Number = 28,
  RGLFieldTypeFt_Visa_ID = 29,
  RGLFieldTypeFt_Visa_Class = 30,
  RGLFieldTypeFt_Visa_SubClass = 31,
  RGLFieldTypeFt_MRZ_String1 = 32,
  RGLFieldTypeFt_MRZ_String2 = 33,
  RGLFieldTypeFt_MRZ_String3 = 34,
  RGLFieldTypeFt_MRZ_Type = 35,
  RGLFieldTypeFt_Optional_Data = 36,
  RGLFieldTypeFt_Document_Class_Name = 37,
  RGLFieldTypeFt_Issuing_State_Name = 38,
  RGLFieldTypeFt_Place_of_Issue = 39,
  RGLFieldTypeFt_Document_Number_Checksum = 40,
  RGLFieldTypeFt_Date_of_Birth_Checksum = 41,
  RGLFieldTypeFt_Date_of_Expiry_Checksum = 42,
  RGLFieldTypeFt_Personal_Number_Checksum = 43,
  RGLFieldTypeFt_FinalChecksum = 44,
  RGLFieldTypeFt_Passport_Number_Checksum = 45,
  RGLFieldTypeFt_Invitation_Number_Checksum = 46,
  RGLFieldTypeFt_Visa_ID_Checksum = 47,
  RGLFieldTypeFt_Surname_And_Given_Names_Checksum = 48,
  RGLFieldTypeFt_Visa_Valid_Until_Checksum = 49,
  RGLFieldTypeFt_Other = 50,
  RGLFieldTypeFt_MRZ_Strings = 51,
  RGLFieldTypeFt_Name_Suffix = 52,
  RGLFieldTypeFt_Name_Prefix = 53,
  RGLFieldTypeFt_Date_of_Issue_Checksum = 54,
  RGLFieldTypeFt_Date_of_Issue_CheckDigit = 55,
  RGLFieldTypeFt_Document_Series = 56,
  RGLFieldTypeFt_RegCert_RegNumber = 57,
  RGLFieldTypeFt_RegCert_CarModel = 58,
  RGLFieldTypeFt_RegCert_CarColor = 59,
  RGLFieldTypeFt_RegCert_BodyNumber = 60,
  RGLFieldTypeFt_RegCert_CarType = 61,
  RGLFieldTypeFt_RegCert_MaxWeight = 62,
  RGLFieldTypeFt_Reg_Cert_Weight = 63,
  RGLFieldTypeFt_Address_Area = 64,
  RGLFieldTypeFt_Address_State = 65,
  RGLFieldTypeFt_Address_Building = 66,
  RGLFieldTypeFt_Address_House = 67,
  RGLFieldTypeFt_Address_Flat = 68,
  RGLFieldTypeFt_Place_of_Registration = 69,
  RGLFieldTypeFt_Date_of_Registration = 70,
  RGLFieldTypeFt_Resident_From = 71,
  RGLFieldTypeFt_Resident_Until = 72,
  RGLFieldTypeFt_Authority_Code = 73,
  RGLFieldTypeFt_Place_of_Birth_Area = 74,
  RGLFieldTypeFt_Place_of_Birth_StateCode = 75,
  RGLFieldTypeFt_Address_Street = 76,
  RGLFieldTypeFt_Address_City = 77,
  RGLFieldTypeFt_Address_Jurisdiction_Code = 78,
  RGLFieldTypeFt_Address_Postal_Code = 79,
  RGLFieldTypeFt_Document_Number_CheckDigit = 80,
  RGLFieldTypeFt_Date_of_Birth_CheckDigit = 81,
  RGLFieldTypeFt_Date_of_Expiry_CheckDigit = 82,
  RGLFieldTypeFt_Personal_Number_CheckDigit = 83,
  RGLFieldTypeFt_FinalCheckDigit = 84,
  RGLFieldTypeFt_Passport_Number_CheckDigit = 85,
  RGLFieldTypeFt_Invitation_Number_CheckDigit = 86,
  RGLFieldTypeFt_Visa_ID_CheckDigit = 87,
  RGLFieldTypeFt_Surname_And_Given_Names_CheckDigit = 88,
  RGLFieldTypeFt_Visa_Valid_Until_CheckDigit = 89,
  RGLFieldTypeFt_Permit_DL_Class = 90,
  RGLFieldTypeFt_Permit_Date_of_Expiry = 91,
  RGLFieldTypeFt_Permit_Identifier = 92,
  RGLFieldTypeFt_Permit_Date_of_Issue = 93,
  RGLFieldTypeFt_Permit_Restriction_Code = 94,
  RGLFieldTypeFt_Permit_Endorsed = 95,
  RGLFieldTypeFt_Issue_Timestamp = 96,
  RGLFieldTypeFt_Number_of_Duplicates = 97,
  RGLFieldTypeFt_Medical_Indicator_Codes = 98,
  RGLFieldTypeFt_Non_Resident_Indicator = 99,
  RGLFieldTypeFt_Visa_Type = 100,
  RGLFieldTypeFt_Visa_Valid_From = 101,
  RGLFieldTypeFt_Visa_Valid_Until = 102,
  RGLFieldTypeFt_Duration_of_Stay = 103,
  RGLFieldTypeFt_Number_of_Entries = 104,
  RGLFieldTypeFt_Day = 105,
  RGLFieldTypeFt_Month = 106,
  RGLFieldTypeFt_Year = 107,
  RGLFieldTypeFt_Unique_Customer_Identifier = 108,
  RGLFieldTypeFt_Commercial_Vehicle_Codes = 109,
  RGLFieldTypeFt_AKA_Date_of_Birth = 110,
  RGLFieldTypeFt_AKA_Social_Security_Number = 111,
  RGLFieldTypeFt_AKA_Surname = 112,
  RGLFieldTypeFt_AKA_Given_Names = 113,
  RGLFieldTypeFt_AKA_Name_Suffix = 114,
  RGLFieldTypeFt_AKA_Name_Prefix = 115,
  RGLFieldTypeFt_Mailing_Address_Street = 116,
  RGLFieldTypeFt_Mailing_Address_City = 117,
  RGLFieldTypeFt_Mailing_Address_Jurisdiction_Code = 118,
  RGLFieldTypeFt_Mailing_Address_Postal_Code = 119,
  RGLFieldTypeFt_Audit_Information = 120,
  RGLFieldTypeFt_Inventory_Number = 121,
  RGLFieldTypeFt_Race_Ethnicity = 122,
  RGLFieldTypeFt_Jurisdiction_Vehicle_Class = 123,
  RGLFieldTypeFt_Jurisdiction_Endorsement_Code = 124,
  RGLFieldTypeFt_Jurisdiction_Restriction_Code = 125,
  RGLFieldTypeFt_Family_Name = 126,
  RGLFieldTypeFt_Given_Names_RUS = 127,
  RGLFieldTypeFt_Visa_ID_RUS = 128,
  RGLFieldTypeFt_Fathers_Name = 129,
  RGLFieldTypeFt_Fathers_Name_RUS = 130,
  RGLFieldTypeFt_Surname_And_Given_Names_RUS = 131,
  RGLFieldTypeFt_Place_Of_Birth_RUS = 132,
  RGLFieldTypeFt_Authority_RUS = 133,
  RGLFieldTypeFt_Issuing_State_Code_Numeric = 134,
  RGLFieldTypeFt_Nationality_Code_Numeric = 135,
  RGLFieldTypeFt_Engine_Power = 136,
  RGLFieldTypeFt_Engine_Volume = 137,
  RGLFieldTypeFt_Chassis_Number = 138,
  RGLFieldTypeFt_Engine_Number = 139,
  RGLFieldTypeFt_Engine_Model = 140,
  RGLFieldTypeFt_Vehicle_Category = 141,
  RGLFieldTypeFt_Identity_Card_Number = 142,
  RGLFieldTypeFt_Control_No = 143,
  RGLFieldTypeFt_Parrent_s_Given_Names = 144,
  RGLFieldTypeFt_Second_Surname = 145,
  RGLFieldTypeFt_Middle_Name = 146,
  RGLFieldTypeFt_RegCert_VIN = 147,
  RGLFieldTypeFt_RegCert_VIN_CheckDigit = 148,
  RGLFieldTypeFt_RegCert_VIN_Checksum = 149,
  RGLFieldTypeFt_Line1_CheckDigit = 150,
  RGLFieldTypeFt_Line2_CheckDigit = 151,
  RGLFieldTypeFt_Line3_CheckDigit = 152,
  RGLFieldTypeFt_Line1_Checksum = 153,
  RGLFieldTypeFt_Line2_Checksum = 154,
  RGLFieldTypeFt_Line3_Checksum = 155,
  RGLFieldTypeFt_RegCert_RegNumber_CheckDigit = 156,
  RGLFieldTypeFt_RegCert_RegNumber_Checksum = 157,
  RGLFieldTypeFt_RegCert_Vehicle_ITS_Code = 158,
  RGLFieldTypeFt_Card_Access_Number = 159,
  RGLFieldTypeFt_Marital_Status = 160,
  RGLFieldTypeFt_Company_Name = 161,
  RGLFieldTypeFt_Special_Notes = 162,
  RGLFieldTypeFt_Surname_of_Spose = 163,
  RGLFieldTypeFt_Tracking_Number = 164,
  RGLFieldTypeFt_Booklet_Number = 165,
  RGLFieldTypeFt_Children = 166,
  RGLFieldTypeFt_Copy = 167,
  RGLFieldTypeFt_Serial_Number = 168,
  RGLFieldTypeFt_Dossier_Number = 169,
  RGLFieldTypeFt_AKA_Surname_And_Given_Names = 170,
  RGLFieldTypeFt_Territorial_Validity = 171,
  RGLFieldTypeFt_MRZ_Strings_With_Correct_CheckSums = 172,
  RGLFieldTypeFt_DL_CDL_Restriction_Code = 173,
  RGLFieldTypeFt_DL_Under_18_Date = 174,
  RGLFieldTypeFt_DL_Record_Created = 175,
  RGLFieldTypeFt_DL_Duplicate_Date = 176,
  RGLFieldTypeFt_DL_Iss_Type = 177,
  RGLFieldTypeFt_Military_Book_Number = 178,
  RGLFieldTypeFt_Destination = 179,
  RGLFieldTypeFt_Blood_Group = 180,
  RGLFieldTypeFt_Sequence_Number = 181,
  RGLFieldTypeFt_RegCert_BodyType = 182,
  RGLFieldTypeFt_RegCert_CarMark = 183,
  RGLFieldTypeFt_Transaction_Number = 184,
  RGLFieldTypeFt_Age = 185,
  RGLFieldTypeFt_Folio_Number = 186,
  RGLFieldTypeFt_Voter_Key = 187,
  RGLFieldTypeFt_Address_Municipality = 188,
  RGLFieldTypeFt_Address_Location = 189,
  RGLFieldTypeFt_Section = 190,
  RGLFieldTypeFt_OCR_Number = 191,
  RGLFieldTypeFt_Federal_Elections = 192,
  RGLFieldTypeFt_Reference_Number = 193,
  RGLFieldTypeFt_Optional_Data_Checksum = 194,
  RGLFieldTypeFt_Optional_Data_CheckDigit = 195,
  RGLFieldTypeFt_Visa_Number = 196,
  RGLFieldTypeFt_Visa_Number_Checksum = 197,
  RGLFieldTypeFt_Visa_Number_CheckDigit = 198,
  RGLFieldTypeFt_Voter = 199,
  RGLFieldTypeFt_Previous_Type = 200,
  RGLFieldTypeFt_FieldFromMRZ = 220,
  RGLFieldTypeFt_CurrentDate = 221,
  RGLFieldTypeFt_Status_Date_of_Expiry = 251,
  RGLFieldTypeFt_Banknote_Number = 252,
  RGLFieldTypeFt_CSC_Code = 253,
  RGLFieldTypeFt_Artistic_Name = 254,
  RGLFieldTypeFt_Academic_Title = 255,
  RGLFieldTypeFt_Address_Country = 256,
  RGLFieldTypeFt_Address_Zipcode = 257,
  RGLFieldTypeFt_EID_Residence_Permit1 = 258,
  RGLFieldTypeFt_EID_Residence_Permit2 = 259,
  RGLFieldTypeFt_EID_PlaceOfBirth_Street = 260,
  RGLFieldTypeFt_EID_PlaceOfBirth_City = 261,
  RGLFieldTypeFt_EID_PlaceOfBirth_State = 262,
  RGLFieldTypeFt_EID_PlaceOfBirth_Country = 263,
  RGLFieldTypeFt_EID_PlaceOfBirth_Zipcode = 264,
  RGLFieldTypeFt_CDL_Class = 265,
  RGLFieldTypeFt_DL_Under_19_Date = 266,
  RGLFieldTypeFt_Weight_pounds = 267,
  RGLFieldTypeFt_Limited_Duration_Document_Indicator = 268,
  RGLFieldTypeFt_Endorsement_Expiration_Date = 269,
  RGLFieldTypeFt_Revision_Date = 270,
  RGLFieldTypeFt_Compliance_Type = 271,
  RGLFieldTypeFt_Family_name_truncation = 272,
  RGLFieldTypeFt_First_name_truncation = 273,
  RGLFieldTypeFt_Middle_name_truncation = 274,
  RGLFieldTypeFt_Exam_Date = 275,
  RGLFieldTypeFt_Organization = 276,
  RGLFieldTypeFt_Department = 277,
  RGLFieldTypeFt_Pay_Grade = 278,
  RGLFieldTypeFt_Rank = 279,
  RGLFieldTypeFt_Benefits_Number = 280,
  RGLFieldTypeFt_Sponsor_Service = 281,
  RGLFieldTypeFt_Sponsor_Status = 282,
  RGLFieldTypeFt_Sponsor = 283,
  RGLFieldTypeFt_Relationship = 284,
  RGLFieldTypeFt_USCIS = 285,
  RGLFieldTypeFt_Category = 286,
  RGLFieldTypeFt_Conditions = 287,
  RGLFieldTypeFt_Identifier = 288,
  RGLFieldTypeFt_Configuration = 289,
  RGLFieldTypeFt_Discretionary_data = 290,
  RGLFieldTypeFt_Line1_Optional_Data = 291,
  RGLFieldTypeFt_Line2_Optional_Data = 292,
  RGLFieldTypeFt_Line3_Optional_Data = 293,
  RGLFieldTypeFt_EQV_Code = 294,
  RGLFieldTypeFt_ALT_Code = 295,
  RGLFieldTypeFt_Binary_Code = 296,
  RGLFieldTypeFt_Pseudo_Code = 297,
  RGLFieldTypeFt_Fee = 298,
  RGLFieldTypeFt_Stamp_Number = 299,
  RGLFieldTypeFt_SBH_SecurityOptions = 300,
  RGLFieldTypeFt_SBH_IntegrityOptions = 301,
  RGLFieldTypeFt_Date_of_Creation = 302,
  RGLFieldTypeFt_Validity_Period = 303,
  RGLFieldTypeFt_Patron_Header_Version = 304,
  RGLFieldTypeFt_BDB_Type = 305,
  RGLFieldTypeFt_Biometric_Type = 306,
  RGLFieldTypeFt_Biometric_Subtype = 307,
  RGLFieldTypeFt_Biometric_ProductID = 308,
  RGLFieldTypeFt_Biometric_Format_Owner = 309,
  RGLFieldTypeFt_Biometric_Format_Type = 310,
  RGLFieldTypeFt_Phone = 311,
  RGLFieldTypeFt_Profession = 312,
  RGLFieldTypeFt_Title = 313,
  RGLFieldTypeFt_Personal_Summary = 314,
  RGLFieldTypeFt_Other_Valid_ID = 315,
  RGLFieldTypeFt_Custody_Info = 316,
  RGLFieldTypeFt_Other_Name = 317,
  RGLFieldTypeFt_Observations = 318,
  RGLFieldTypeFt_Tax = 319,
  RGLFieldTypeFt_Date_of_Personalization = 320,
  RGLFieldTypeFt_Personalization_SN = 321,
  RGLFieldTypeFt_OtherPerson_Name = 322,
  RGLFieldTypeFt_PersonToNotify_Date_of_Record = 323,
  RGLFieldTypeFt_PersonToNotify_Name = 324,
  RGLFieldTypeFt_PersonToNotify_Phone = 325,
  RGLFieldTypeFt_PersonToNotify_Address = 326,
  RGLFieldTypeFt_DS_Certificate_Issuer = 327,
  RGLFieldTypeFt_DS_Certificate_Subject = 328,
  RGLFieldTypeFt_DS_Certificate_ValidFrom = 329,
  RGLFieldTypeFt_DS_Certificate_ValidTo = 330,
  RGLFieldTypeFt_VRC_DataObject_Entry = 331,
  RGLFieldTypeFt_TypeApprovalNumber = 332,
  RGLFieldTypeFt_AdministrativeNumber = 333,
  RGLFieldTypeFt_DocumentDiscriminator = 334,
  RGLFieldTypeFt_DataDiscriminator = 335,
  RGLFieldTypeFt_ISO_Issuer_ID_Number = 336,
  RGLFieldTypeFt_GNIB_Number = 340,
  RGLFieldTypeFt_Dept_Number = 341,
  RGLFieldTypeFt_Telex_Code = 342,
  RGLFieldTypeFt_Allergies = 343,
  RGLFieldTypeFt_Sp_Code = 344,
  RGLFieldTypeFt_Court_Code = 345,
  RGLFieldTypeFt_Cty = 346,
  RGLFieldTypeFt_Sponsor_SSN = 347,
  RGLFieldTypeFt_DoD_Number = 348,
  RGLFieldTypeFt_MC_Novice_Date = 349,
  RGLFieldTypeFt_DUF_Number = 350,
  RGLFieldTypeFt_AGY = 351,
  RGLFieldTypeFt_PNR_Code = 352,
  RGLFieldTypeFt_From_Airport_Code = 353,
  RGLFieldTypeFt_To_Airport_Code = 354,
  RGLFieldTypeFt_Flight_Number = 355,
  RGLFieldTypeFt_Date_of_Flight = 356,
  RGLFieldTypeFt_Seat_Number = 357,
  RGLFieldTypeFt_Date_of_Issue_Boarding_Pass = 358,
  RGLFieldTypeFt_CCW_Until = 359,
  RGLFieldTypeFt_Reference_Number_Checksum = 360,
  RGLFieldTypeFt_Reference_Number_CheckDigit = 361,
  RGLFieldTypeFt_Room_Number = 362,
  RGLFieldTypeFt_Religion = 363,
  RGLFieldTypeFt_RemainderTerm = 364,
  RGLFieldTypeFt_Electronic_Ticket_Indicator = 365,
  RGLFieldTypeFt_Compartment_Code = 366,
  RGLFieldTypeFt_CheckIn_Sequence_Number = 367,
  RGLFieldTypeFt_Airline_Designator_of_boarding_pass_issuer = 368,
  RGLFieldTypeFt_Airline_Numeric_Code = 369,
  RGLFieldTypeFt_Ticket_Number = 370,
  RGLFieldTypeFt_Frequent_Flyer_Airline_Designator = 371,
  RGLFieldTypeFt_Frequent_Flyer_Number = 372,
  RGLFieldTypeFt_Free_Baggage_Allowance = 373,
  RGLFieldTypeFt_PDF417Codec = 374,
  RGLFieldTypeFt_Identity_Card_Number_Checksum = 375,
  RGLFieldTypeFt_Identity_Card_Number_CheckDigit = 376,
  RGLFieldTypeFt_Veteran = 377,
  RGLFieldTypeFt_DLClassCode_A1_From = 378,
  RGLFieldTypeFt_DLClassCode_A1_To = 379,
  RGLFieldTypeFt_DLClassCode_A1_Notes = 380,
  RGLFieldTypeFt_DLClassCode_A_From = 381,
  RGLFieldTypeFt_DLClassCode_A_To = 382,
  RGLFieldTypeFt_DLClassCode_A_Notes = 383,
  RGLFieldTypeFt_DLClassCode_B_From = 384,
  RGLFieldTypeFt_DLClassCode_B_To = 385,
  RGLFieldTypeFt_DLClassCode_B_Notes = 386,
  RGLFieldTypeFt_DLClassCode_C1_From = 387,
  RGLFieldTypeFt_DLClassCode_C1_To = 388,
  RGLFieldTypeFt_DLClassCode_C1_Notes = 389,
  RGLFieldTypeFt_DLClassCode_C_From = 390,
  RGLFieldTypeFt_DLClassCode_C_To = 391,
  RGLFieldTypeFt_DLClassCode_C_Notes = 392,
  RGLFieldTypeFt_DLClassCode_D1_From = 393,
  RGLFieldTypeFt_DLClassCode_D1_To = 394,
  RGLFieldTypeFt_DLClassCode_D1_Notes = 395,
  RGLFieldTypeFt_DLClassCode_D_From = 396,
  RGLFieldTypeFt_DLClassCode_D_To = 397,
  RGLFieldTypeFt_DLClassCode_D_Notes = 398,
  RGLFieldTypeFt_DLClassCode_BE_From = 399,
  RGLFieldTypeFt_DLClassCode_BE_To = 400,
  RGLFieldTypeFt_DLClassCode_BE_Notes = 401,
  RGLFieldTypeFt_DLClassCode_C1E_From = 402,
  RGLFieldTypeFt_DLClassCode_C1E_To = 403,
  RGLFieldTypeFt_DLClassCode_C1E_Notes = 404,
  RGLFieldTypeFt_DLClassCode_CE_From = 405,
  RGLFieldTypeFt_DLClassCode_CE_To = 406,
  RGLFieldTypeFt_DLClassCode_CE_Notes = 407,
  RGLFieldTypeFt_DLClassCode_D1E_From = 408,
  RGLFieldTypeFt_DLClassCode_D1E_To = 409,
  RGLFieldTypeFt_DLClassCode_D1E_Notes = 410,
  RGLFieldTypeFt_DLClassCode_DE_From = 411,
  RGLFieldTypeFt_DLClassCode_DE_To = 412,
  RGLFieldTypeFt_DLClassCode_DE_Notes = 413,
  RGLFieldTypeFt_DLClassCode_M_From = 414,
  RGLFieldTypeFt_DLClassCode_M_To = 415,
  RGLFieldTypeFt_DLClassCode_M_Notes = 416,
  RGLFieldTypeFt_DLClassCode_L_From = 417,
  RGLFieldTypeFt_DLClassCode_L_To = 418,
  RGLFieldTypeFt_DLClassCode_L_Notes = 419,
  RGLFieldTypeFt_DLClassCode_T_From = 420,
  RGLFieldTypeFt_DLClassCode_T_To = 421,
  RGLFieldTypeFt_DLClassCode_T_Notes = 422,
  RGLFieldTypeFt_DLClassCode_AM_From = 423,
  RGLFieldTypeFt_DLClassCode_AM_To = 424,
  RGLFieldTypeFt_DLClassCode_AM_Notes = 425,
  RGLFieldTypeFt_DLClassCode_A2_From = 426,
  RGLFieldTypeFt_DLClassCode_A2_To = 427,
  RGLFieldTypeFt_DLClassCode_A2_Notes = 428,
  RGLFieldTypeFt_DLClassCode_B1_From = 429,
  RGLFieldTypeFt_DLClassCode_B1_To = 430,
  RGLFieldTypeFt_DLClassCode_B1_Notes = 431,
  RGLFieldTypeFt_Surname_at_Birth = 432,
  RGLFieldTypeFt_Civil_Status = 433,
  RGLFieldTypeFt_Number_of_Seats = 434,
  RGLFieldTypeFt_Number_of_Standing_Places = 435,
  RGLFieldTypeFt_Max_Speed = 436,
  RGLFieldTypeFt_Fuel_Type = 437,
  RGLFieldTypeFt_EC_Environmental_Type = 438,
  RGLFieldTypeFt_Power_Weight_Ratio = 439,
  RGLFieldTypeFt_Max_Mass_of_Trailer_Braked = 440,
  RGLFieldTypeFt_Max_Mass_of_Trailer_Unbraked = 441,
  RGLFieldTypeFt_Transmission_Type = 442,
  RGLFieldTypeFt_Trailer_Hitch = 443,
  RGLFieldTypeFt_Accompanied_by = 444,
  RGLFieldTypeFt_Police_District = 445,
  RGLFieldTypeFt_First_Issue_Date = 446,
  RGLFieldTypeFt_Payload_Capacity = 447,
  RGLFieldTypeFt_Number_of_Axels = 448,
  RGLFieldTypeFt_Permissible_Axle_Load = 449,
  RGLFieldTypeFt_Precinct = 450,
  RGLFieldTypeFt_Invited_by = 451,
  RGLFieldTypeFt_Purpose_of_Entry = 452,
  RGLFieldTypeFt_Skin_Color = 453,
  RGLFieldTypeFt_Complexion = 454,
  RGLFieldTypeFt_Airport_From = 455,
  RGLFieldTypeFt_Airport_To = 456,
  RGLFieldTypeFt_Airline_Name = 457,
  RGLFieldTypeFt_Airline_Name_Frequent_Flyer = 458,
  RGLFieldTypeFt_License_Number = 459,
  RGLFieldTypeFt_In_Tanks = 460,
  RGLFieldTypeFt_Exept_In_Tanks = 461,
  RGLFieldTypeFt_Fast_Track = 462,
  RGLFieldTypeFt_Owner = 463,
  RGLFieldTypeFt_MRZ_Strings_ICAO_RFID = 464,
  RGLFieldTypeFt_Number_of_Card_Issuance = 465,
  RGLFieldTypeFt_Number_of_Card_Issuance_Checksum = 466,
  RGLFieldTypeFt_Number_of_Card_Issuance_CheckDigit = 467,
  RGLFieldTypeFt_Century_Date_of_Birth = 468,
  RGLFieldTypeFt_DLClassCode_A3_From = 469,
  RGLFieldTypeFt_DLClassCode_A3_To = 470,
  RGLFieldTypeFt_DLClassCode_A3_Notes = 471,
  RGLFieldTypeFt_DLClassCode_C2_From = 472,
  RGLFieldTypeFt_DLClassCode_C2_To = 473,
  RGLFieldTypeFt_DLClassCode_C2_Notes = 474,
  RGLFieldTypeFt_DLClassCode_B2_From = 475,
  RGLFieldTypeFt_DLClassCode_B2_To = 476,
  RGLFieldTypeFt_DLClassCode_B2_Notes = 477,
  RGLFieldTypeFt_DLClassCode_D2_From = 478,
  RGLFieldTypeFt_DLClassCode_D2_To = 479,
  RGLFieldTypeFt_DLClassCode_D2_Notes = 480,
  RGLFieldTypeFt_DLClassCode_B2E_From = 481,
  RGLFieldTypeFt_DLClassCode_B2E_To = 482,
  RGLFieldTypeFt_DLClassCode_B2E_Notes = 483,
  RGLFieldTypeFt_DLClassCode_G_From = 484,
  RGLFieldTypeFt_DLClassCode_G_To = 485,
  RGLFieldTypeFt_DLClassCode_G_Notes = 486,
  RGLFieldTypeFt_DLClassCode_J_From = 487,
  RGLFieldTypeFt_DLClassCode_J_To = 488,
  RGLFieldTypeFt_DLClassCode_J_Notes = 489,
  RGLFieldTypeFt_DLClassCode_LC_From = 490,
  RGLFieldTypeFt_DLClassCode_LC_To = 491,
  RGLFieldTypeFt_DLClassCode_LC_Notes = 492,
  RGLFieldTypeFt_BankCardNumber = 493,
  RGLFieldTypeFt_BankCardValidThru = 494,
  RGLFieldTypeFt_TaxNumber = 495,
  RGLFieldTypeFt_HealthNumber = 496,
  RGLFieldTypeFt_GrandfatherName = 497,
  RGLFieldTypeFt_Selectee_Indicator = 498,
  RGLFieldTypeFt_Mother_Surname = 499,
  RGLFieldTypeFt_Mother_GivenName = 500,
  RGLFieldTypeFt_Father_Surname = 501,
  RGLFieldTypeFt_Father_GivenName = 502,
  RGLFieldTypeFt_Mother_DateOfBirth = 503,
  RGLFieldTypeFt_Father_DateOfBirth = 504,
  RGLFieldTypeFt_Mother_PersonalNumber = 505,
  RGLFieldTypeFt_Father_PersonalNumber = 506,
  RGLFieldTypeFt_Mother_PlaceOfBirth = 507,
  RGLFieldTypeFt_Father_PlaceOfBirth = 508,
  RGLFieldTypeFt_Mother_CountryOfBirth = 509,
  RGLFieldTypeFt_Father_CountryOfBirth = 510,
  RGLFieldTypeFt_Date_First_Renewal = 511,
  RGLFieldTypeFt_Date_Second_Renewal = 512,
  RGLFieldTypeFt_PlaceOfExamination = 513,
  RGLFieldTypeFt_ApplicationNumber = 514,
  RGLFieldTypeFt_VoucherNumber = 515,
  RGLFieldTypeFt_AuthorizationNumber = 516,
  RGLFieldTypeFt_Faculty = 517,
  RGLFieldTypeFt_FormOfEducation = 518,
  RGLFieldTypeFt_DNINumber = 519,
  RGLFieldTypeFt_RetirementNumber = 520,
  RGLFieldTypeFt_ProfessionalIdNumber = 521,
  RGLFieldTypeFt_Age_at_Issue = 522,
  RGLFieldTypeFt_Years_Since_Issue = 523,
  RGLFieldTypeFt_DLClassCode_BTP_From = 524,
  RGLFieldTypeFt_DLClassCode_BTP_Notes = 525,
  RGLFieldTypeFt_DLClassCode_BTP_To = 526,
  RGLFieldTypeFt_DLClassCode_C3_From = 527,
  RGLFieldTypeFt_DLClassCode_C3_Notes = 528,
  RGLFieldTypeFt_DLClassCode_C3_To = 529,
  RGLFieldTypeFt_DLClassCode_E_From = 530,
  RGLFieldTypeFt_DLClassCode_E_Notes = 531,
  RGLFieldTypeFt_DLClassCode_E_To = 532,
  RGLFieldTypeFt_DLClassCode_F_From = 533,
  RGLFieldTypeFt_DLClassCode_F_Notes = 534,
  RGLFieldTypeFt_DLClassCode_F_To = 535,
  RGLFieldTypeFt_DLClassCode_FA_From = 536,
  RGLFieldTypeFt_DLClassCode_FA_Notes = 537,
  RGLFieldTypeFt_DLClassCode_FA_To = 538,
  RGLFieldTypeFt_DLClassCode_FA1_From = 539,
  RGLFieldTypeFt_DLClassCode_FA1_Notes = 540,
  RGLFieldTypeFt_DLClassCode_FA1_To = 541,
  RGLFieldTypeFt_DLClassCode_FB_From = 542,
  RGLFieldTypeFt_DLClassCode_FB_Notes = 543,
  RGLFieldTypeFt_DLClassCode_FB_To = 544,
  RGLFieldTypeFt_DLClassCode_G1_From = 545,
  RGLFieldTypeFt_DLClassCode_G1_Notes = 546,
  RGLFieldTypeFt_DLClassCode_G1_To = 547,
  RGLFieldTypeFt_DLClassCode_H_From = 548,
  RGLFieldTypeFt_DLClassCode_H_Notes = 549,
  RGLFieldTypeFt_DLClassCode_H_To = 550,
  RGLFieldTypeFt_DLClassCode_I_From = 551,
  RGLFieldTypeFt_DLClassCode_I_Notes = 552,
  RGLFieldTypeFt_DLClassCode_I_To = 553,
  RGLFieldTypeFt_DLClassCode_K_From = 554,
  RGLFieldTypeFt_DLClassCode_K_Notes = 555,
  RGLFieldTypeFt_DLClassCode_K_To = 556,
  RGLFieldTypeFt_DLClassCode_LK_From = 557,
  RGLFieldTypeFt_DLClassCode_LK_Notes = 558,
  RGLFieldTypeFt_DLClassCode_LK_To = 559,
  RGLFieldTypeFt_DLClassCode_N_From = 560,
  RGLFieldTypeFt_DLClassCode_N_Notes = 561,
  RGLFieldTypeFt_DLClassCode_N_To = 562,
  RGLFieldTypeFt_DLClassCode_S_From = 563,
  RGLFieldTypeFt_DLClassCode_S_Notes = 564,
  RGLFieldTypeFt_DLClassCode_S_To = 565,
  RGLFieldTypeFt_DLClassCode_TB_From = 566,
  RGLFieldTypeFt_DLClassCode_TB_Notes = 567,
  RGLFieldTypeFt_DLClassCode_TB_To = 568,
  RGLFieldTypeFt_DLClassCode_TM_From = 569,
  RGLFieldTypeFt_DLClassCode_TM_Notes = 570,
  RGLFieldTypeFt_DLClassCode_TM_To = 571,
  RGLFieldTypeFt_DLClassCode_TR_From = 572,
  RGLFieldTypeFt_DLClassCode_TR_Notes = 573,
  RGLFieldTypeFt_DLClassCode_TR_To = 574,
  RGLFieldTypeFt_DLClassCode_TV_From = 575,
  RGLFieldTypeFt_DLClassCode_TV_Notes = 576,
  RGLFieldTypeFt_DLClassCode_TV_To = 577,
  RGLFieldTypeFt_DLClassCode_V_From = 578,
  RGLFieldTypeFt_DLClassCode_V_Notes = 579,
  RGLFieldTypeFt_DLClassCode_V_To = 580,
  RGLFieldTypeFt_DLClassCode_W_From = 581,
  RGLFieldTypeFt_DLClassCode_W_Notes = 582,
  RGLFieldTypeFt_DLClassCode_W_To = 583,
  RGLFieldTypeFt_URL = 584,
  RGLFieldTypeFt_Caliber = 585,
  RGLFieldTypeFt_Model = 586,
  RGLFieldTypeFt_Make = 587,
  RGLFieldTypeFt_NumberOfCylinders = 588,
  RGLFieldTypeFt_SurnameOfHusbandAfterRegistration = 589,
  RGLFieldTypeFt_SurnameOfWifeAfterRegistration = 590,
  RGLFieldTypeFt_DateOfBirthOfWife = 591,
  RGLFieldTypeFt_DateOfBirthOfHusband = 592,
  RGLFieldTypeFt_CitizenshipOfFirstPerson = 593,
  RGLFieldTypeFt_CitizenshipOfSecondPerson = 594,
  RGLFieldTypeFt_CVV = 595
} NS_SWIFT_NAME(FieldType);

typedef NS_ENUM(NSInteger, RGLLCID) {
  RGLLCIDLatin = 0,
  RGLLCIDAfrikaans = 1078,
  RGLLCIDAlbanian = 1052,
  RGLLCIDArabicAlgeria = 5121,
  RGLLCIDArabicBahrain = 15361,
  RGLLCIDArabicEgypt = 3073,
  RGLLCIDArabicIraq = 2049,
  RGLLCIDArabicJordan = 11265,
  RGLLCIDArabicKuwait = 13313,
  RGLLCIDArabicLebanon = 12289,
  RGLLCIDArabicLibya = 4097,
  RGLLCIDArabicMorocco = 6145,
  RGLLCIDArabicOman = 8193,
  RGLLCIDArabicQatar = 16385,
  RGLLCIDArabicSaudiArabia = 1025,
  RGLLCIDArabicSyria = 10241,
  RGLLCIDArabicTunisia = 7169,
  RGLLCIDArabicUAE = 14337,
  RGLLCIDArabicYemen = 9217,
  RGLLCIDArabicArmenian = 1067,
  RGLLCIDAzeriCyrillic = 2092,
  RGLLCIDAzeriLatin = 1068,
  RGLLCIDBasque = 1069,
  RGLLCIDBelarusian = 1059,
  RGLLCIDBulgarian = 1026,
  RGLLCIDCatalan = 1027,
  RGLLCIDChineseHongKongSAR = 3076,
  RGLLCIDChineseMacaoSAR = 5124,
  RGLLCIDChinese = 2052,
  RGLLCIDChineseSingapore = 4100,
  RGLLCIDChineseTaiwan = 1028,
  RGLLCIDCroatian = 1050,
  RGLLCIDCzech = 1029,
  RGLLCIDDanish = 1030,
  RGLLCIDDivehi = 1125,
  RGLLCIDDutchBelgium = 2067,
  RGLLCIDDutchNetherlands = 1043,
  RGLLCIDEnglishAustralia = 3081,
  RGLLCIDEnglishBelize = 10249,
  RGLLCIDEnglishCanada = 4105,
  RGLLCIDEnglishCaribbean = 9225,
  RGLLCIDEnglishIreland = 6153,
  RGLLCIDEnglishJamaica = 8201,
  RGLLCIDEnglishNewZealand = 5129,
  RGLLCIDEnglishPhilippines = 13321,
  RGLLCIDEnglishSouthAfrica = 7177,
  RGLLCIDEnglishTrinidad = 11273,
  RGLLCIDEnglishUnitedKingdom = 2057,
  RGLLCIDEnglishUnitedStates = 1033,
  RGLLCIDEnglishZimbabwe = 12297,
  RGLLCIDEstonian = 1061,
  RGLLCIDFaroese = 1080,
  RGLLCIDFarsi = 1065,
  RGLLCIDFinnish = 1035,
  RGLLCIDFrenchBelgium = 2060,
  RGLLCIDFrenchCanada = 3084,
  RGLLCIDFrenchFrance = 1036,
  RGLLCIDFrenchLuxembourg = 5132,
  RGLLCIDFrenchMonaco = 6156,
  RGLLCIDFrenchSwitzerland = 4108,
  RGLLCIDFyroMacedonian = 1071,
  RGLLCIDGalician = 1110,
  RGLLCIDGeorgian = 1079,
  RGLLCIDGermanAustria = 3079,
  RGLLCIDGermanGermany = 1031,
  RGLLCIDGermanLiechtenstein = 5127,
  RGLLCIDGermanLuxembourg = 4103,
  RGLLCIDGermanSwitzerland = 2055,
  RGLLCIDGreek = 1032,
  RGLLCIDGujarati = 1095,
  RGLLCIDHebrew = 1037,
  RGLLCIDHindiIndia = 1081,
  RGLLCIDHungarian = 1038,
  RGLLCIDIcelandic = 1039,
  RGLLCIDIndonesian = 1057,
  RGLLCIDItalianItaly = 1040,
  RGLLCIDItalianSwitzerland = 2064,
  RGLLCIDJapanese = 1041,
  RGLLCIDKannada = 1099,
  RGLLCIDKazakh = 1087,
  RGLLCIDKonkani = 1111,
  RGLLCIDKorean = 1042,
  RGLLCIDKyrgyzCyrillic = 1088,
  RGLLCIDLatvian = 1062,
  RGLLCIDLithuanian = 1063,
  RGLLCIDMalayBruneiDarussalam = 2110,
  RGLLCIDMarathi = 1102,
  RGLLCIDMalayMalaysia = 1086,
  RGLLCIDMongolianCyrillic = 1104,
  RGLLCIDNorwegianBokmal = 1044,
  RGLLCIDNorwegianNynorsk = 2068,
  RGLLCIDPolish = 1045,
  RGLLCIDPortugueseBrazil = 1046,
  RGLLCIDPortuguesePortugal = 2070,
  RGLLCIDPunjabi = 1094,
  RGLLCIDRhaetoRomanic = 1047,
  RGLLCIDRomanian = 1048,
  RGLLCIDRussian = 1049,
  RGLLCIDSanskrit = 1103,
  RGLLCIDSerbianCyrillic = 3098,
  RGLLCIDSerbianLatin = 2074,
  RGLLCIDSlovak = 1051,
  RGLLCIDSlovenian = 1060,
  RGLLCIDSpanishArgentina = 11274,
  RGLLCIDSpanishBolivia = 16394,
  RGLLCIDSpanishChile = 13322,
  RGLLCIDSpanishColombia = 9226,
  RGLLCIDSpanishCostaRica = 5130,
  RGLLCIDSpanishDominicanRepublic = 7178,
  RGLLCIDSpanishEcuador = 12298,
  RGLLCIDSpanishElSalvador = 17418,
  RGLLCIDSpanishGuatemala = 4106,
  RGLLCIDSpanishHonduras = 18442,
  RGLLCIDSpanishInternationalSort = 3082,
  RGLLCIDSpanishMexico = 2058,
  RGLLCIDSpanishNicaragua = 19466,
  RGLLCIDSpanishPanama = 6154,
  RGLLCIDSpanishParaguay = 15370,
  RGLLCIDSpanishPeru = 10250,
  RGLLCIDSpanishPuertoRico = 20490,
  RGLLCIDSpanishTraditionalSort = 1034,
  RGLLCIDSpanishUruguay = 14346,
  RGLLCIDSpanishVenezuela = 8202,
  RGLLCIDSwahili = 1089,
  RGLLCIDSwedish = 1053,
  RGLLCIDSwedishFinland = 2077,
  RGLLCIDSyriac = 1114,
  RGLLCIDTamil = 1097,
  RGLLCIDTatar = 1092,
  RGLLCIDTelugu = 1098,
  RGLLCIDThaiThailand = 1054,
  RGLLCIDTurkish = 1055,
  RGLLCIDUkrainian = 1058,
  RGLLCIDUrdu = 1056,
  RGLLCIDUzbekCyrillic = 2115,
  RGLLCIDUzbekLatin = 1091,
  RGLLCIDVietnamese = 1066,
  RGLLCIDTajikCyrillic = 1064,
  RGLLCIDTurkmen = 1090,
  RGLLCIDCtcSimplified = 50001,
  RGLLCIDCtcTraditional = 50002,
  RGLLCIDCustom = 9999
} NS_SWIFT_NAME(LCID);

typedef NS_ENUM(NSInteger, RGLGraphicFieldType) {
  RGLGraphicFieldTypeGf_Portrait           = 201,
  RGLGraphicFieldTypeGf_Fingerprint        = 202,
  RGLGraphicFieldTypeGf_Eye                = 203,
  RGLGraphicFieldTypeGf_Signature          = 204,
  RGLGraphicFieldTypeGf_BarCode            = 205,
  RGLGraphicFieldTypeGf_ProofOfCitizenship = 206,
  RGLGraphicFieldTypeGf_DocumentImage      = 207,
  RGLGraphicFieldTypeGf_ColorDynamic       = 209,
  RGLGraphicFieldTypeGf_GhostPortrait      = 210,
  RGLGraphicFieldTypeGf_Stamp              = 211,
  RGLGraphicFieldTypeGf_Portrait_Of_Child  = 212,
  RGLGraphicFieldTypeGf_Other              = 250,
  RGLGraphicFieldTypeGf_FingerLeftThumb    = 300,
  RGLGraphicFieldTypeGf_FingerLeftIndex    = 301,
  RGLGraphicFieldTypeGf_FingerLeftMiddle   = 302,
  RGLGraphicFieldTypeGf_FingerLeftRing     = 303,
  RGLGraphicFieldTypeGf_FingerLeftLittle   = 304,
  RGLGraphicFieldTypeGf_FingerRightThumb   = 305,
  RGLGraphicFieldTypeGf_FingerRightIndex   = 306,
  RGLGraphicFieldTypeGf_FingerRightMiddle  = 307,
  RGLGraphicFieldTypeGf_FingerRightRing    = 308,
  RGLGraphicFieldTypeGf_FingerRightLittle  = 309
} NS_SWIFT_NAME(GraphicFieldType);

typedef NS_ENUM(NSInteger, RGLGraphicFieldLight) {
  RGLGraphicFieldLightUV               = 128,
  RGLGraphicFieldLightWhite            = 6
} NS_SWIFT_NAME(GraphicFieldLight);

typedef NS_ENUM(NSInteger, RGLCheckDiagnose) {
        RGLCheckDiagnoseUnknown = 0,
        RGLCheckDiagnosePass = 1,
        RGLCheckDiagnoseInvalidInputData = 2,
        RGLCheckDiagnoseInternalError = 3,
        RGLCheckDiagnoseExceptionInModule = 4,
        RGLCheckDiagnoseUncertainVerification = 5,
        RGLCheckDiagnoseNecessaryImageNotFound = 7,
        RGLCheckDiagnosePhotoSidesNotFound = 8,
        RGLCheckDiagnoseInvalidChecksum = 10,
        RGLCheckDiagnoseSyntaxError = 11,
        RGLCheckDiagnoseLogicError = 12,
        RGLCheckDiagnoseSourcesComparisonError = 13,
        RGLCheckDiagnoseFieldsComparisonLogicError = 14,
        RGLCheckDiagnoseInvalidFieldFormat = 15,
        RGLCheckDiagnoseTrueLuminiscenceError = 20,
        RGLCheckDiagnoseFalseLuminiscenceError = 21,
        RGLCheckDiagnoseFixedPatternError = 22,
        RGLCheckDiagnoseLowContrastInIRLight = 23,
        RGLCheckDiagnoseIncorrectBackgroundLight = 24,
        RGLCheckDiagnoseBackgroundComparisonError = 25,
        RGLCheckDiagnoseIncorrectTextColor = 26,
        RGLCheckDiagnosePhotoFalseLuminiscence = 27,
        RGLCheckDiagnoseTooMuchShift = 28,
        RGLCheckDiagnoseFibersNotFound = 30,
        RGLCheckDiagnoseTooManyObjects = 31,
        RGLCheckDiagnoseSpecksInUV = 33,
        RGLCheckDiagnoseTooLowResolution = 34,
        RGLCheckDiagnoseInvisibleElementPresent = 40,
        RGLCheckDiagnoseVisibleElementAbsent = 41,
        RGLCheckDiagnoseElementShouldBeColored = 42,
        RGLCheckDiagnoseElementShouldBeGrayscale = 43,
        RGLCheckDiagnoseUVDullPaper_MRZ = 50,
        RGLCheckDiagnoseFalseLuminiscenceInMRZ = 51,
        RGLCheckDiagnoseUVDullPaper_Photo = 52,
        RGLCheckDiagnoseUVDullPaper_Blank = 53,
        RGLCheckDiagnoseUVDullPaperError = 54,
        RGLCheckDiagnoseFalseLuminiscenceInBlank = 55,
        RGLCheckDiagnoseBadAreaInAxial = 60,
        RGLCheckDiagnoseFalseIPIParameters = 65,
        RGLCheckDiagnoseFieldPosCorrector_Highlight_IR = 80,
        RGLCheckDiagnoseOVIIRInvisible = 90,
        RGLCheckDiagnoseOVIInsufficientArea = 91,
        RGLCheckDiagnoseOVIColorInvariable = 92,
        RGLCheckDiagnoseOVIBadColorFront = 93,
        RGLCheckDiagnoseOVIBadColorSide = 94,
        RGLCheckDiagnoseOVIWideColorSpread = 95,
        RGLCheckDiagnoseOVIBadColorPercent = 96,
        RGLCheckDiagnoseHologramElementAbsent = 100,
        RGLCheckDiagnoseHologramSideTopImagesAbsent = 101,
        RGLCheckDiagnoseHologramElementPresent = 102,
        RGLCheckDiagnosePhotoPatternInterrupted = 110,
        RGLCheckDiagnosePhotoPatternShifted = 111,
        RGLCheckDiagnosePhotoPatternDifferentColors = 112,
        RGLCheckDiagnosePhotoPatternIRVisible = 113,
        RGLCheckDiagnosePhotoPatternNotIntersect = 114,
        RGLCheckDiagnosePhotoSizeIsWrong = 115,
        RGLCheckDiagnosePhotoPatternInvalidColor = 116,
        RGLCheckDiagnosePhotoPatternShiftedVert = 117,
        RGLCheckDiagnosePhotoPatternPatternNotFound = 118,
        RGLCheckDiagnosePhotoPatternDifferentLinesThickness = 119,
        RGLCheckDiagnosePhotoIsNotRectangle = 120,
        RGLCheckDiagnosePhotoCornersIsWrong = 121,
        RGLCheckDiagnoseDocumentIsCancelling = 122,
        RGLCheckDiagnoseTextColorShouldBeBlue = 130,
        RGLCheckDiagnoseTextColorShouldBeGreen = 131,
        RGLCheckDiagnoseTextColorShouldBeRed = 132,
        RGLCheckDiagnoseTextShouldBeBlack = 133,
        RGLCheckDiagnoseBarcodeWasReadWithErrors = 140,
        RGLCheckDiagnoseBarcodeDataFormatError = 141,
        RGLCheckDiagnoseBarcodeSizeParamsError = 142,
        RGLCheckDiagnoseNotAllBarcodesRead = 143,
        RGLCheckDiagnosePortraitComparisonPortraitsDiffer = 150,
        RGLCheckDiagnosePortraitComparisonNoServiceReply = 151,
        RGLCheckDiagnosePortraitComparisonServiceError = 152,
        RGLCheckDiagnosePortraitComparisonNotEnoughImages = 153,
        RGLCheckDiagnosePortraitComparisonNoLivePhoto = 154,
        RGLCheckDiagnosePortraitComparisonNoServiceLicense = 155,
} NS_SWIFT_NAME(CheckDiagnose);

typedef NS_ENUM(NSInteger, RGLProcessingFinishedStatus) {
  RGLProcessingFinishedStatusNotReady           = 0,
  RGLProcessingFinishedStatusReady              = 1,
  RGLProcessingFinishedStatusTimeout            = 2
} NS_SWIFT_NAME(ProcessingFinishedStatus);

@class RGLDocumentReaderDocumentType, RGLDocumentReaderTextResult, RGLDocumentReaderGraphicResult, RGLDocumentReaderJsonResult, RGLDocumentPosition, RGLBarcodePosition, RGLMrzPosition, RGLImageQualityGroup, RGLDocumentReaderAuthenticityResult, RGLRFIDSessionData, RGLDocumentReaderTextField, RGLDocumentReaderGraphicField, RGLDocumentReaderBarcodeResult;

NS_SWIFT_NAME(DocumentReaderResults)
@interface RGLDocumentReaderResults : NSObject

@property(nonatomic, strong, readonly, nullable) NSArray <RGLDocumentReaderDocumentType *> *documentType;
@property(nonatomic, strong, readonly, nonnull) RGLDocumentReaderTextResult *textResult;
@property(nonatomic, strong, readonly, nonnull) RGLDocumentReaderGraphicResult *graphicResult;
@property(nonatomic, strong, readonly, nonnull) RGLDocumentReaderJsonResult *jsonResult;
@property(nonatomic, strong, readonly, nullable) RGLDocumentPosition *documentPosition;
@property(nonatomic, strong, readonly, nullable) RGLBarcodePosition *barcodePosition;
@property(nonatomic, strong, readonly, nullable) RGLMrzPosition *mrzPosition;
@property(nonatomic, strong, readonly, nullable) RGLImageQualityGroup *imageQualityGroup;
@property(nonatomic, assign, readonly) RGLCheckResult overallResult;
@property(nonatomic, strong, readonly, nullable) RGLDocumentReaderAuthenticityResult *authenticityResults;
@property(nonatomic, strong, readonly, nullable) RGLRFIDSessionData *rfidSessionData;
@property(nonatomic, assign, readonly) NSInteger chipPage;
@property(nonatomic, assign, readonly) RGLResolutionType resolutionType;
@property(nonatomic, strong, readonly, nonnull) RGLDocumentReaderBarcodeResult *barcodeResult;
@property(nonatomic, assign, readonly) RGLProcessingFinishedStatus processingFinishedStatus;
@property(nonatomic, assign, readonly) NSInteger morePagesAvailable;
@property(nonatomic, assign, readonly) NSInteger elapsedTime;
@property(nonatomic, assign, readonly) NSInteger elapsedTimeRFID;

- (instancetype _Nonnull)initWithDocumentTypes:(NSArray<RGLDocumentReaderDocumentType *> *_Nullable)documentType textResult:(RGLDocumentReaderTextResult *_Nullable)textResult graphicResult:(RGLDocumentReaderGraphicResult *_Nonnull)graphicResult jsonResult:(RGLDocumentReaderJsonResult *_Nullable)jsonResult documentPosition:(RGLDocumentPosition *_Nullable)documentPosition barcodePosition:(RGLBarcodePosition *_Nullable)barcodePosition mrzPosition:(RGLMrzPosition *_Nullable)mrzPosition imageQualityGroup:(RGLImageQualityGroup *_Nullable)imageQualityGroup authenticityResults:(RGLDocumentReaderAuthenticityResult *_Nullable)authenticityResults rfidSessionData:(RGLRFIDSessionData *_Nullable)rfidSessionData chipPage:(NSInteger)chipPage barcodeResult:(RGLDocumentReaderBarcodeResult *_Nullable)barcodeResult processingFinished:(NSInteger)processingFinished morePagesAvailable:(NSInteger)morePagesAvailable elapsedTime:(NSInteger)elapsedTime elapsedTimeRFID:(NSInteger)elapsedTimeRFID;
- (instancetype _Nonnull)initWithJSON:(NSDictionary *_Nonnull)json;
- (NSDictionary *_Nonnull)jsonDictionary;

- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType lcid:(RGLLCID)lcid source:(RGLResultType)source original:(BOOL)original NS_SWIFT_NAME(getTextFieldValueByType(fieldType:lcid:source:original:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType lcid:(RGLLCID)lcid source:(RGLResultType)source NS_SWIFT_NAME(getTextFieldValueByType(fieldType:lcid:source:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType lcid:(RGLLCID)lcid NS_SWIFT_NAME(getTextFieldValueByType(fieldType:lcid:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType NS_SWIFT_NAME(getTextFieldValueByType(fieldType:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType source:(RGLResultType)source NS_SWIFT_NAME(getTextFieldValueByType(fieldType:source:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType source:(RGLResultType)source original:(BOOL)original NS_SWIFT_NAME(getTextFieldValueByType(fieldType:source:original:));
- (NSString *_Nullable)getTextFieldValueByType:(RGLFieldType)fieldType original:(BOOL)original NS_SWIFT_NAME(getTextFieldValueByType(fieldType:original:));
- (RGLDocumentReaderTextField *_Nullable)getTextFieldByType:(RGLFieldType)fieldType NS_SWIFT_NAME(getTextFieldByType(fieldType:));
- (RGLDocumentReaderTextField *_Nullable)getTextFieldByType:(RGLFieldType)fieldType lcid:(RGLLCID)lcid NS_SWIFT_NAME(getTextFieldByType(fieldType:lcid:));

- (UIImage *_Nullable)getGraphicFieldImageByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source pageIndex:(NSInteger)pageIndex light:(RGLGraphicFieldLight)light NS_SWIFT_NAME(getGraphicFieldImageByType(fieldType:source:pageIndex:light:));
- (UIImage *_Nullable)getGraphicFieldImageByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source pageIndex:(NSInteger)pageIndex NS_SWIFT_NAME(getGraphicFieldImageByType(fieldType:source:pageIndex:));
- (UIImage *_Nullable)getGraphicFieldImageByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source NS_SWIFT_NAME(getGraphicFieldImageByType(fieldType:source:));
- (UIImage *_Nullable)getGraphicFieldImageByType:(RGLGraphicFieldType)fieldType NS_SWIFT_NAME(getGraphicFieldImageByType(fieldType:));
- (RGLDocumentReaderGraphicField *_Nullable)getGraphicFieldByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source pageIndex:(NSInteger)pageIndex light:(RGLGraphicFieldLight)light NS_SWIFT_NAME(getGraphicFieldByType(fieldType:source:pageIndex:light:));
- (RGLDocumentReaderGraphicField *_Nullable)getGraphicFieldByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source pageIndex:(NSInteger)pageIndex NS_SWIFT_NAME(getGraphicFieldByType(fieldType:source:pageIndex:));
- (RGLDocumentReaderGraphicField *_Nullable)getGraphicFieldByType:(RGLGraphicFieldType)fieldType source:(RGLResultType)source NS_SWIFT_NAME(getGraphicFieldByType(fieldType:source:));
- (RGLDocumentReaderGraphicField *_Nullable)getGraphicFieldByType:(RGLGraphicFieldType)fieldType NS_SWIFT_NAME(getGraphicFieldByType(fieldType:));

+ (instancetype _Nonnull)initWithJSON:(NSDictionary * _Nonnull)json;

@end
