diff --git a/pgwmodal/pgwmodal-test.ts b/pgwmodal/pgwmodal-test.ts
new file mode 100644
index 000000000..eec99ed39
--- /dev/null
+++ b/pgwmodal/pgwmodal-test.ts
@@ -0,0 +1,34 @@
+///
+
+var $j: JQueryStatic;
+var $z: ZeptoStatic;
+
+function test_open(): void {
+ var r: boolean = $j.pgwModal({
+ content: 'Modal Example 1'
+ });
+
+ $j.pgwModal({
+ target: '#modalContent',
+ title: 'Modal title 2',
+ maxWidth: 800
+ });
+
+ $j.pgwModal({
+ url: 'modal-test.php',
+ loadingContent: 'Loading in progress',
+ closable: false,
+ titleBar: false
+ });
+}
+
+function test_action(): void {
+ var r1: boolean = $j.pgwModal('close');
+ var r2: boolean = $j.pgwModal('reposition');
+ var r3: boolean = $j.pgwModal('isOpen');
+ var r4: any = $j.pgwModal('getData');
+}
+
+function test_equal(): void {
+ $j.pgwModal == $z.pgwModal;
+}
diff --git a/pgwmodal/pgwmodal.d.ts b/pgwmodal/pgwmodal.d.ts
new file mode 100644
index 000000000..22b0e5147
--- /dev/null
+++ b/pgwmodal/pgwmodal.d.ts
@@ -0,0 +1,43 @@
+// Type definitions for PgwModal 2.0
+// Project: http://pgwjs.com/pgwmodal/
+// Definitions by: Pine Mizune
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface PgwModalOption {
+ content?: string;
+ target?: string;
+ url?: string;
+ title?: string;
+ titleBar?: boolean;
+ mainClassName?: string;
+ backdropClassName?: string;
+ maxWidth?: number;
+ angular?: boolean;
+ modalData?: any;
+ ajaxOptions?: any;
+ closable?: boolean;
+ closeContent?: string;
+ closeOnEscape?: boolean;
+ closeOnBackgroundClick?: boolean;
+ loadingContent?: string;
+ errorContent?: string;
+ pushContent?: string;
+}
+
+interface PgwModalMethod {
+ (option: PgwModalOption): boolean;
+ (action: string): any;
+ (action: "close"): boolean;
+ (action: "reposition"): boolean;
+ (action: "getData"): any;
+ (action: "isOpen"): boolean;
+}
+
+interface ZeptoStatic {
+ pgwModal: PgwModalMethod;
+}
+
+
+interface JQueryStatic {
+ pgwModal: PgwModalMethod;
+}