diff --git a/google-libphonenumber/google-libphonenumber-tests.ts b/google-libphonenumber/google-libphonenumber-tests.ts
new file mode 100644
index 0000000000..0768f0f7a9
--- /dev/null
+++ b/google-libphonenumber/google-libphonenumber-tests.ts
@@ -0,0 +1,36 @@
+///
+
+import libphonenumber = require('google-libphonenumber');
+import {PhoneNumberFormat, PhoneNumberUtil, AsYouTypeFormatter} from 'google-libphonenumber';
+
+() => {
+ // Require `PhoneNumberFormat`.
+ var PNF = libphonenumber.PhoneNumberFormat;
+
+ // Get an instance of `PhoneNumberUtil`.
+ var phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();
+
+ // Parse number with country code.
+ var phoneNumber = phoneUtil.parse('202-456-1414', 'US');
+
+ // Print number in the international format.
+ console.log(phoneUtil.format(phoneNumber, PNF.INTERNATIONAL));
+ // => +1 202-456-1414
+}
+
+() => {
+ // Require `AsYouTypeFormatter`.
+ var AsYouTypeFormatter = libphonenumber.AsYouTypeFormatter;
+ var formatter = new AsYouTypeFormatter('US');
+
+ console.log(formatter.inputDigit('6')); // => 6
+ console.log(formatter.inputDigit('5')); // => 65
+ console.log(formatter.inputDigit('0')); // => 650
+ console.log(formatter.inputDigit('2')); // => 650-2
+ console.log(formatter.inputDigit('5')); // => 650-25
+ console.log(formatter.inputDigit('3')); // => 650-253
+ console.log(formatter.inputDigit('2')); // => 650-2532
+ console.log(formatter.inputDigit('2')); // => (650) 253-22
+
+ formatter.clear();
+}
diff --git a/google-libphonenumber/google-libphonenumber.d.ts b/google-libphonenumber/google-libphonenumber.d.ts
new file mode 100644
index 0000000000..fea36d9675
--- /dev/null
+++ b/google-libphonenumber/google-libphonenumber.d.ts
@@ -0,0 +1,38 @@
+// Type definitions for libphonenumber v7.4.3
+// Project: https://github.com/googlei18n/libphonenumber
+// Project: https://github.com/seegno/google-libphonenumber
+// Definitions by: Leon Yu
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare namespace libphonenumber {
+ export enum PhoneNumberFormat {
+ E164,
+ INTERNATIONAL,
+ NATIONAL,
+ RFC3966
+ }
+
+ interface PhoneNumber {
+ }
+
+ export class PhoneNumberUtil {
+ static getInstance(): PhoneNumberUtil
+ parse(number: string, region: string): PhoneNumber;
+ isValidNumber(phoneNumber: PhoneNumber): boolean;
+ isValidNumberForRegion(phoneNumber: PhoneNumber): boolean;
+ getRegionCodeForNumber(phoneNumber: PhoneNumber): string;
+ isNANPACountry(regionCode: string): boolean;
+ format(phoneNumber: PhoneNumber, format: PhoneNumberFormat): string;
+ }
+
+ export class AsYouTypeFormatter {
+ constructor(region: string);
+ inputDigit(digit: string): string;
+ clear(): void;
+ }
+}
+
+
+declare module 'google-libphonenumber' {
+ export = libphonenumber;
+}