UNPKG

7.69 kBTypeScriptView Raw
1// Type definitions for libphonenumber v7.4.3
2// Project: https://github.com/googlei18n/libphonenumber, https://github.com/seegno/google-libphonenumber
3// Definitions by: Leon Yu <https://github.com/leonyu>
4// Roman Jurkov <https://github.com/winfinit>
5// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
6
7declare namespace libphonenumber {
8 export enum PhoneNumberFormat {
9 E164,
10 INTERNATIONAL,
11 NATIONAL,
12 RFC3966,
13 }
14
15 export enum PhoneNumberType {
16 FIXED_LINE = 0,
17 MOBILE = 1,
18 FIXED_LINE_OR_MOBILE = 2,
19 TOLL_FREE = 3,
20 PREMIUM_RATE = 4,
21 SHARED_COST = 5,
22 VOIP = 6,
23 PERSONAL_NUMBER = 7,
24 PAGER = 8,
25 UAN = 9,
26 VOICEMAIL = 10,
27 UNKNOWN = -1,
28 }
29
30 export module PhoneNumber {
31 export enum CountryCodeSource {
32 FROM_NUMBER_WITH_PLUS_SIGN = 1,
33 FROM_NUMBER_WITH_IDD = 5,
34 FROM_NUMBER_WITHOUT_PLUS_SIGN = 10,
35 FROM_DEFAULT_COUNTRY = 20,
36 }
37 }
38
39 export class PhoneNumber {
40 getCountryCode(): number | undefined;
41 getCountryCodeOrDefault(): number;
42 setCountryCode(value: number): void;
43 hasCountryCode(): boolean;
44 countryCodeCount(): number;
45 clearCountryCode(): void;
46 getNationalNumber(): number | undefined;
47 getNationalNumberOrDefault(): number;
48 setNationalNumber(value: number): number;
49 hasNationalNumber(): boolean;
50 nationalNumberCount(): number;
51 clearNationalNumber(): void;
52
53 getExtension(): string | undefined;
54 getExtensionOrDefault(): string;
55 setExtension(value: string): void;
56 hasExtension(): boolean;
57 extensionCount(): number;
58 clearExtension(): void;
59
60 getItalianLeadingZero(): boolean | undefined;
61 getItalianLeadingZeroOrDefault(): boolean;
62 setItalianLeadingZero(value: boolean): void;
63 hasItalianLeadingZero(): boolean;
64 italianLeadingZeroCount(): number;
65 clearItalianLeadingZero(): void;
66
67 getNumberOfLeadingZeros(): number | undefined;
68 getNumberOfLeadingZerosOrDefault(): number;
69 setNumberOfLeadingZeros(value: number): void;
70 hasNumberOfLeadingZeros(): boolean;
71 numberOfLeadingZerosCount(): number;
72 clearNumberOfLeadingZeros(): void;
73
74 getRawInput(): string | undefined;
75 getRawInputOrDefault(): string;
76 setRawInput(value: string): void;
77 hasRawInput(): boolean;
78 rawInputCount(): number;
79 clearRawInput(): void;
80
81 getCountryCodeSource(): PhoneNumber.CountryCodeSource | undefined;
82 getCountryCodeSourceOrDefault(): PhoneNumber.CountryCodeSource;
83 setCountryCodeSource(value: PhoneNumber.CountryCodeSource): void;
84 hasCountryCodeSource(): boolean;
85 countryCodeSourceCount(): number;
86 clearCountryCodeSource(): void;
87
88 getPreferredDomesticCarrierCode(): string | undefined;
89 getPreferredDomesticCarrierCodeOrDefault(): string;
90 setPreferredDomesticCarrierCode(value: string): void;
91 hasPreferredDomesticCarrierCode(): boolean;
92 preferredDomesticCarrierCodeCount(): number;
93 clearPreferredDomesticCarrierCode(): void;
94 }
95
96 export module PhoneNumberUtil {
97 export enum ValidationResult {
98 /** The number length matches that of valid numbers for this region. =0 */
99 IS_POSSIBLE,
100 /** The number has an invalid country calling code. =1 */
101 INVALID_COUNTRY_CODE,
102 /** The number is shorter than all valid numbers for this region. =2 */
103 TOO_SHORT,
104 /** The number is longer than all valid numbers for this region. =3 */
105 TOO_LONG,
106 /**
107 * The number length matches that of local numbers for this region only (i.e.
108 * numbers that may be able to be dialled within an area, but do not have all
109 * the information to be dialled from anywhere inside or outside the country).
110 * =4
111 */
112 IS_POSSIBLE_LOCAL_ONLY,
113 /**
114 * The number is longer than the shortest valid numbers for this region,
115 * shorter than the longest valid numbers for this region, and does not itself
116 * have a number length that matches valid numbers for this region.
117 * This can also be returned in the case where
118 * isPossibleNumberForTypeWithReason was called, and there are no numbers of
119 * this type at all for this region.
120 * =5
121 */
122 INVALID_LENGTH,
123 }
124
125 export enum MatchType {
126 EXACT_MATCH,
127 NO_MATCH,
128 NOT_A_NUMBER,
129 NSN_MATCH,
130 SHORT_NSN_MATCH,
131 }
132 }
133
134 class StringBuffer {
135 constructor(opt_a1?: any, ...var_args: any[]);
136 append(a1: any, opt_a2?: any, ...var_args: any[]): StringBuffer;
137 toString(): string;
138 }
139
140 export class PhoneNumberUtil {
141 static getInstance(): PhoneNumberUtil;
142 extractCountryCode(fullNumber: StringBuffer, nationalNumber: StringBuffer): number;
143 format(phoneNumber: PhoneNumber, format: PhoneNumberFormat): string;
144 formatInOriginalFormat(phoneNumber: PhoneNumber, regionDialingFrom?: string): string;
145 formatOutOfCountryCallingNumber(phoneNumber: PhoneNumber, regionDialingFrom?: string): string;
146 getNddPrefixForRegion(regionCode?: string, stripNonDigits?: boolean): string | undefined;
147 getNumberType(phoneNumber: PhoneNumber): PhoneNumberType;
148 getCountryCodeForRegion(supportedRegion: string): number;
149 getExampleNumber(regionCode: string): PhoneNumber;
150 getExampleNumberForType(regionCode: string, type: PhoneNumberType): PhoneNumber;
151 getRegionCodeForCountryCode(countryCallingCode: number): string;
152 getRegionCodeForNumber(phoneNumber: PhoneNumber): string | undefined;
153 getSupportedRegions(): string[];
154 isAlphaNumber(number: string): boolean;
155 isLeadingZeroPossible(countryCallingCode: number): boolean;
156 isNANPACountry(regionCode?: string): boolean;
157 isPossibleNumber(number: PhoneNumber): boolean;
158 isPossibleNumber(phoneNumber: PhoneNumber): boolean;
159 isPossibleNumberForType(number: PhoneNumber, type: PhoneNumberType): boolean;
160 isPossibleNumberForTypeWithReason(number: PhoneNumber, type: PhoneNumberType): PhoneNumberUtil.ValidationResult;
161 isPossibleNumberString(number: string, regionDialingFrom: string): boolean;
162 isPossibleNumberWithReason(number: PhoneNumber): PhoneNumberUtil.ValidationResult;
163 isPossibleNumberWithReason(phoneNumber: PhoneNumber): PhoneNumberUtil.ValidationResult;
164 isValidNumber(phoneNumber: PhoneNumber): boolean;
165 isValidNumberForRegion(phoneNumber: PhoneNumber, region?: string): boolean;
166 parse(number?: string, region?: string): PhoneNumber;
167 parseAndKeepRawInput(number: string, regionCode?: string): PhoneNumber;
168 truncateTooLongNumber(number: PhoneNumber): boolean;
169 isNumberMatch(firstNumber: string | PhoneNumber, secondNumber: string | PhoneNumber): PhoneNumberUtil.MatchType;
170 getLengthOfGeographicalAreaCode(number: PhoneNumber): number;
171 getNationalSignificantNumber(number: PhoneNumber): string;
172 }
173
174 export class AsYouTypeFormatter {
175 constructor(region: string);
176 inputDigit(digit: string): string;
177 clear(): void;
178 }
179}
180
181declare module 'google-libphonenumber' {
182 export = libphonenumber;
183}