18c339a94Sopenharmony_ci/*
28c339a94Sopenharmony_ci* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 
38c339a94Sopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License"); 
48c339a94Sopenharmony_ci* you may not use this file except in compliance with the License. 
58c339a94Sopenharmony_ci* You may obtain a copy of the License at 
68c339a94Sopenharmony_ci*
78c339a94Sopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0 
88c339a94Sopenharmony_ci*
98c339a94Sopenharmony_ci* Unless required by applicable law or agreed to in writing, software 
108c339a94Sopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS, 
118c339a94Sopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
128c339a94Sopenharmony_ci* See the License for the specific language governing permissions and 
138c339a94Sopenharmony_ci* limitations under the License. 
148c339a94Sopenharmony_ci*/
158c339a94Sopenharmony_ciimport { AsyncCallback, Callback } from './basic';
168c339a94Sopenharmony_ci
178c339a94Sopenharmony_cideclare namespace napitest {
188c339a94Sopenharmony_ci    export enum GrantStatus {
198c339a94Sopenharmony_ci        PERMISSION_DEFAULT = "",
208c339a94Sopenharmony_ci        PERMISSION_DENIED = "-1",
218c339a94Sopenharmony_ci        PERMISSION_GRANTED = "2",
228c339a94Sopenharmony_ci        PERMISSION_PASS = "3",
238c339a94Sopenharmony_ci    }
248c339a94Sopenharmony_ci
258c339a94Sopenharmony_ci    export enum HttpStatus {
268c339a94Sopenharmony_ci        STATUS0 = 0,
278c339a94Sopenharmony_ci        STATUS1 = 500,
288c339a94Sopenharmony_ci        STATUS2 = 503,
298c339a94Sopenharmony_ci    }
308c339a94Sopenharmony_ci    interface Human {
318c339a94Sopenharmony_ci        name: string;
328c339a94Sopenharmony_ci        age: number;
338c339a94Sopenharmony_ci        isAboy: true;
348c339a94Sopenharmony_ci    }
358c339a94Sopenharmony_ci
368c339a94Sopenharmony_ci    interface TestClass1 {
378c339a94Sopenharmony_ci        ahuman: Human;
388c339a94Sopenharmony_ci        num1: number;
398c339a94Sopenharmony_ci        str1: string;
408c339a94Sopenharmony_ci        nums: Array<number>;
418c339a94Sopenharmony_ci        strs: Array<string>;
428c339a94Sopenharmony_ci        mans: Array<Human>;
438c339a94Sopenharmony_ci        if_direct(v1: string, v2: boolean): string;
448c339a94Sopenharmony_ci        if_callback(v1: string, cb: Callback<string>): string;
458c339a94Sopenharmony_ci        if_async(v1: string, cb: AsyncCallback<string>): string;
468c339a94Sopenharmony_ci    }
478c339a94Sopenharmony_ci
488c339a94Sopenharmony_ci    function fun2(v2: string, numcc: Array<number>, mancc: Human): Array<Human>;
498c339a94Sopenharmony_ci    function fun3(v2: string, cb: Callback<string>): void;
508c339a94Sopenharmony_ci    function fun4(v2: string, cb: AsyncCallback<string>): void;
518c339a94Sopenharmony_ci    function fun5(v2: boolean, cb: Callback<boolean>): boolean;
528c339a94Sopenharmony_ci    function fun6(v2: Array<boolean>): boolean;
538c339a94Sopenharmony_ci
548c339a94Sopenharmony_ci    namespace Space3 {
558c339a94Sopenharmony_ci        function fun3(v3: string): string;
568c339a94Sopenharmony_ci        interface TestClass2 {
578c339a94Sopenharmony_ci            haha: number;
588c339a94Sopenharmony_ci        }
598c339a94Sopenharmony_ci        namespace Space4 {
608c339a94Sopenharmony_ci            function fun3(v3: string): string;
618c339a94Sopenharmony_ci            interface TestClass3 {
628c339a94Sopenharmony_ci                hoho: number;
638c339a94Sopenharmony_ci                add(v1: Array<number>): number;
648c339a94Sopenharmony_ci            }
658c339a94Sopenharmony_ci        }
668c339a94Sopenharmony_ci    }
678c339a94Sopenharmony_ci}
688c339a94Sopenharmony_ci
698c339a94Sopenharmony_ciexport default napitest;
70