@class _NBRegExMatcher, NSMutableDictionary, NSRegularExpression, CTTelephonyNetworkInfo, NSDictionary, NSLock, _NBMetadataHelper; @interface _NBPhoneNumberUtil : NSObject @property (retain, nonatomic) NSLock *entireStringCacheLock; @property (retain, nonatomic) NSMutableDictionary *entireStringRegexCache; @property (retain, nonatomic) NSLock *lockPatternCache; @property (retain, nonatomic) NSMutableDictionary *regexPatternCache; @property (retain, nonatomic) NSRegularExpression *CAPTURING_DIGIT_PATTERN; @property (retain, nonatomic) NSRegularExpression *VALID_ALPHA_PHONE_PATTERN; @property (retain, nonatomic) _NBMetadataHelper *helper; @property (retain, nonatomic) _NBRegExMatcher *matcher; @property (readonly, nonatomic) CTTelephonyNetworkInfo *telephonyNetworkInfo; @property (readonly, nonatomic) NSDictionary *DIGIT_MAPPINGS; + (id)sharedInstance; + (void)initialize; - (id)init; - (void).cxx_destruct; - (id)regularExpressionWithPattern:(id)a0 options:(unsigned long long)a1 error:(id *)a2; - (id)normalize:(id)a0; - (id)convertAlphaCharactersInNumber:(id)a0; - (BOOL)isNANPACountry:(id)a0; - (void)buildNationalNumberForParsing:(id)a0 nationalNumber:(id *)a1; - (BOOL)canBeInternationallyDialled:(id)a0; - (BOOL)canBeInternationallyDialled:(id)a0 error:(id *)a1; - (BOOL)checkRegionForParsing:(id)a0 defaultRegion:(id)a1; - (id)chooseFormattingPatternForNumber:(id)a0 nationalNumber:(id)a1; - (id)componentsSeparatedByRegex:(id)a0 regex:(id)a1; - (id)countryCodeByCarrier; - (BOOL)descHasPossibleNumberData:(id)a0; - (id)entireRegularExpressionWithPattern:(id)a0 options:(unsigned long long)a1 error:(id *)a2; - (id)errorWithObject:(id)a0 withDomain:(id)a1; - (id)extractCountryCode:(id)a0 nationalNumber:(id *)a1; - (id)extractPossibleNumber:(id)a0; - (id)format:(id)a0 numberFormat:(long long)a1; - (id)format:(id)a0 numberFormat:(long long)a1 error:(id *)a2; - (id)formatByPattern:(id)a0 numberFormat:(long long)a1 userDefinedFormats:(id)a2; - (id)formatByPattern:(id)a0 numberFormat:(long long)a1 userDefinedFormats:(id)a2 error:(id *)a3; - (id)formatInOriginalFormat:(id)a0 regionCallingFrom:(id)a1; - (id)formatInOriginalFormat:(id)a0 regionCallingFrom:(id)a1 error:(id *)a2; - (id)formatNationalNumberWithCarrierCode:(id)a0 carrierCode:(id)a1; - (id)formatNationalNumberWithCarrierCode:(id)a0 carrierCode:(id)a1 error:(id *)a2; - (id)formatNationalNumberWithPreferredCarrierCode:(id)a0 fallbackCarrierCode:(id)a1; - (id)formatNationalNumberWithPreferredCarrierCode:(id)a0 fallbackCarrierCode:(id)a1 error:(id *)a2; - (id)formatNsn:(id)a0 metadata:(id)a1 phoneNumberFormat:(long long)a2 carrierCode:(id)a3; - (id)formatNsnUsingPattern:(id)a0 formattingPattern:(id)a1 numberFormat:(long long)a2 carrierCode:(id)a3; - (id)formatNumberForMobileDialing:(id)a0 regionCallingFrom:(id)a1 withFormatting:(BOOL)a2; - (id)formatNumberForMobileDialing:(id)a0 regionCallingFrom:(id)a1 withFormatting:(BOOL)a2 error:(id *)a3; - (id)formatOutOfCountryCallingNumber:(id)a0 regionCallingFrom:(id)a1; - (id)formatOutOfCountryCallingNumber:(id)a0 regionCallingFrom:(id)a1 error:(id *)a2; - (id)formatOutOfCountryKeepingAlphaChars:(id)a0 regionCallingFrom:(id)a1; - (id)formatOutOfCountryKeepingAlphaChars:(id)a0 regionCallingFrom:(id)a1 error:(id *)a2; - (BOOL)formattingRuleHasFirstGroupOnly:(id)a0; - (id)getCountryCodeForRegion:(id)a0; - (id)getCountryCodeForValidRegion:(id)a0 error:(id *)a1; - (id)getCountryMobileTokenFromCountryCode:(long long)a0; - (id)getExampleNumber:(id)a0 error:(id *)a1; - (id)getExampleNumberForNonGeoEntity:(id)a0 error:(id *)a1; - (id)getExampleNumberForType:(id)a0 type:(long long)a1 error:(id *)a2; - (int)getLengthOfGeographicalAreaCode:(id)a0; - (int)getLengthOfGeographicalAreaCode:(id)a0 error:(id *)a1; - (int)getLengthOfNationalDestinationCode:(id)a0; - (int)getLengthOfNationalDestinationCode:(id)a0 error:(id *)a1; - (id)getMetadataForRegionOrCallingCode:(id)a0 regionCode:(id)a1; - (id)getNationalSignificantNumber:(id)a0; - (id)getNddPrefixForRegion:(id)a0 stripNonDigits:(BOOL)a1; - (id)getNumberDescByType:(id)a0 type:(long long)a1; - (long long)getNumberType:(id)a0; - (long long)getNumberTypeHelper:(id)a0 metadata:(id)a1; - (id)getRegionCodeForCountryCode:(id)a0; - (id)getRegionCodeForNumber:(id)a0; - (id)getRegionCodeForNumberFromRegionList:(id)a0 regionCodes:(id)a1; - (id)getRegionCodesForCountryCode:(id)a0; - (id)getSupportedRegions; - (BOOL)hasFormattingPatternForNumber:(id)a0; - (BOOL)hasUnexpectedItalianLeadingZero:(id)a0; - (BOOL)hasValidCountryCallingCode:(id)a0; - (int)indexOfStringByString:(id)a0 target:(id)a1; - (void)initNormalizationMappings; - (void)initRegularExpressionSet; - (BOOL)isAllDigits:(id)a0; - (BOOL)isAlphaNumber:(id)a0; - (BOOL)isLeadingZeroPossible:(id)a0; - (BOOL)isNationalNumberSuffixOfTheOther:(id)a0 second:(id)a1; - (BOOL)isNumberGeographical:(id)a0; - (long long)isNumberMatch:(id)a0 second:(id)a1; - (long long)isNumberMatch:(id)a0 second:(id)a1 error:(id *)a2; - (BOOL)isNumberMatchingDesc:(id)a0 numberDesc:(id)a1; - (BOOL)isPossibleNumber:(id)a0; - (BOOL)isPossibleNumber:(id)a0 error:(id *)a1; - (BOOL)isPossibleNumberString:(id)a0 regionDialingFrom:(id)a1 error:(id *)a2; - (long long)isPossibleNumberWithReason:(id)a0; - (long long)isPossibleNumberWithReason:(id)a0 error:(id *)a1; - (BOOL)isStartingStringByRegex:(id)a0 regex:(id)a1; - (BOOL)isValidNumber:(id)a0; - (BOOL)isValidNumberForRegion:(id)a0 regionCode:(id)a1; - (BOOL)isValidRegionCode:(id)a0; - (BOOL)isViablePhoneNumber:(id)a0; - (id)matchFirstByRegex:(id)a0 regex:(id)a1; - (id)matchedStringByRegex:(id)a0 regex:(id)a1; - (id)matchesByRegex:(id)a0 regex:(id)a1; - (BOOL)matchesEntirely:(id)a0 string:(id)a1; - (id)maybeExtractCountryCode:(id)a0 metadata:(id)a1 nationalNumber:(id *)a2 keepRawInput:(BOOL)a3 phoneNumber:(id *)a4 error:(id *)a5; - (id)maybeGetFormattedExtension:(id)a0 metadata:(id)a1 numberFormat:(long long)a2; - (id)maybeStripExtension:(id *)a0; - (long long)maybeStripInternationalPrefixAndNormalize:(id *)a0 possibleIddPrefix:(id)a1; - (BOOL)maybeStripNationalPrefixAndCarrierCode:(id *)a0 metadata:(id)a1 carrierCode:(id *)a2; - (id)normalizeDiallableCharsOnly:(id)a0; - (id)normalizeDigitsOnly:(id)a0; - (id)normalizeHelper:(id)a0 normalizationReplacements:(id)a1 removeNonMatches:(BOOL)a2; - (void)normalizeSB:(id *)a0; - (id)parse:(id)a0 defaultRegion:(id)a1 error:(id *)a2; - (id)parseAndKeepRawInput:(id)a0 defaultRegion:(id)a1 error:(id *)a2; - (id)parseHelper:(id)a0 defaultRegion:(id)a1 keepRawInput:(BOOL)a2 checkRegion:(BOOL)a3 error:(id *)a4; - (BOOL)parsePrefixAsIdd:(id)a0 sourceString:(id *)a1; - (id)parseWithPhoneCarrierRegion:(id)a0 error:(id *)a1; - (id)prefixNumberWithCountryCallingCode:(id)a0 phoneNumberFormat:(long long)a1 formattedNationalNumber:(id)a2 formattedExtension:(id)a3; - (BOOL)rawInputContainsNationalPrefix:(id)a0 nationalPrefix:(id)a1 regionCode:(id)a2; - (id)replaceFirstStringByRegex:(id)a0 regex:(id)a1 withTemplate:(id)a2; - (id)replaceStringByRegex:(id)a0 regex:(id)a1 withTemplate:(id)a2; - (void)setItalianLeadingZerosForPhoneNumber:(id)a0 phoneNumber:(id)a1; - (id)stringByReplacingOccurrencesString:(id)a0 withMap:(id)a1 removeNonMatches:(BOOL)a2; - (int)stringPositionByRegex:(id)a0 regex:(id)a1; - (long long)testNumberLength:(id)a0 desc:(id)a1; - (BOOL)truncateTooLongNumber:(id)a0; - (long long)validateNumberLength:(id)a0 metadata:(id)a1; - (long long)validateNumberLength:(id)a0 metadata:(id)a1 type:(long long)a2; @end