1/*
2* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 
3* Licensed under the Apache License, Version 2.0 (the "License"); 
4* you may not use this file except in compliance with the License. 
5* You may obtain a copy of the License at 
6*
7* http://www.apache.org/licenses/LICENSE-2.0 
8*
9* Unless required by applicable law or agreed to in writing, software 
10* distributed under the License is distributed on an "AS IS" BASIS, 
11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
12* See the License for the specific language governing permissions and 
13* limitations under the License. 
14*/
15declare namespace napitest {
16    interface Human {
17        name: string;
18        age: number;
19        isTrue: boolean;
20    }
21
22    interface TestClass1 {
23        map1 : {[key: string]: {[key: string]: string}} ;
24        map2 : Map<string,Human> ;
25        //map3: {[key: string]: Object} // to support
26        //map3: {[key: string]: object} // to support
27    }
28
29    class TestClass2 {
30        fun1(v: {[key: string]: string},v1:string):  number;
31        fun2(v: {[key: string]: number}):  number;
32        fun3(v: {[key: string]: boolean}):  number;
33        fun4(v: {[key: string]: Array<string>}):  number;
34        fun5(v: {[key: string]: Array<number>}):  number;
35        fun6(v: {[key: string]: Array<boolean>}):  number;
36        fun7(v: {[key: string]: {[key: string]: string}}):  number;
37        fun8(v: Map<string,Map<string,string>>):  number;
38        fun9(v: {[key: string]: Human}):  number;
39        fun10(v: Map<string,Human>):  number;
40        fun11(v: Map<string,any>):  number;
41    }
42    
43   function fun13(v: {[key: string]: string[]}):  number;   
44   function fun18(v: Map<string,string[]>):  number;
45
46   
47   /*
48   function fun14(v: number): {[key: string]: string[]}; --暂时不支持
49   function fun15(v: number):Map<string,string[]> --暂时不支持
50   */
51   
52}
53export default napitest;