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    interface Human {
198c339a94Sopenharmony_ci        name: string;
208c339a94Sopenharmony_ci        age: number;
218c339a94Sopenharmony_ci    }
228c339a94Sopenharmony_ci
238c339a94Sopenharmony_ci    function fun1(v0:string, v1?: string, v2?: number, v3?: boolean): number;
248c339a94Sopenharmony_ci    class TestClass1 {
258c339a94Sopenharmony_ci		interFun1(v0?:string, v1?: string, v2?: number, v3?: boolean): number;
268c339a94Sopenharmony_ci    }
278c339a94Sopenharmony_ci	function fun21(v0: string, v1?: Array<string>,v2?:Array<number>,v3?:Array<boolean>): number;
288c339a94Sopenharmony_ci    function fun22(v0: string, v1?: string[],v2?:number[],v3?:boolean[]): number;
298c339a94Sopenharmony_ci    function fun23(v0: string, v1?: AsyncCallback<string>): number;
308c339a94Sopenharmony_ci    function fun23(v0: string): Promise<string>;
318c339a94Sopenharmony_ci	class TestClass2 {
328c339a94Sopenharmony_ci        interFun21(v0?: Array<number>, v1?: Array<string>, v2?: Array<boolean>): number; 
338c339a94Sopenharmony_ci        interFun22(v0?: number[], v1?: string[], v2?: boolean[]): number;
348c339a94Sopenharmony_ci    }
358c339a94Sopenharmony_ci	function fun31(v0: string, v1?: {[key:string]:number}): number;
368c339a94Sopenharmony_ci    function fun32(v0: string, v1?: Map<string,string>): number;
378c339a94Sopenharmony_ci    class TestClass3 {
388c339a94Sopenharmony_ci        interFun31(v0:string, v1?: {[key:string]:number}): number;
398c339a94Sopenharmony_ci        interFun32(v0:string, v1?: Map<string,boolean>): number;
408c339a94Sopenharmony_ci    }  
418c339a94Sopenharmony_ci    export enum GrantStatus {
428c339a94Sopenharmony_ci        PERMISSION_DEFAULT = "",
438c339a94Sopenharmony_ci        PERMISSION_DENIED = "-1",
448c339a94Sopenharmony_ci        PERMISSION_GRANTED = "2",
458c339a94Sopenharmony_ci        PERMISSION_PASS = "3",
468c339a94Sopenharmony_ci    } 
478c339a94Sopenharmony_ci    export enum HttpStatus {
488c339a94Sopenharmony_ci        STATUS0 = 0,
498c339a94Sopenharmony_ci        STATUS1 = 500,
508c339a94Sopenharmony_ci        STATUS2 = 503,
518c339a94Sopenharmony_ci    }    
528c339a94Sopenharmony_ci    function fun41(v0?: HttpStatus, v1?: GrantStatus): number;
538c339a94Sopenharmony_ci    function fun42(reason: string, callback?: Callback<HttpStatus>): void;   
548c339a94Sopenharmony_ci    function fun51(v0?: Human, v1?: Human, v2?: Human): number;
558c339a94Sopenharmony_ci    function fun52(v0?: Human, v2?: Array<Human>): number;
568c339a94Sopenharmony_ci    function fun53(v0?: Human, callback?: Callback<Human>): void; 
578c339a94Sopenharmony_ci    class TestClass4 {
588c339a94Sopenharmony_ci        interFun51(v0?: Human, v1?: Human, v2?: Human): number;
598c339a94Sopenharmony_ci    }   
608c339a94Sopenharmony_ci    function fun61(v0?: {name: string, age: number}): number;    
618c339a94Sopenharmony_ci}
628c339a94Sopenharmony_ci
638c339a94Sopenharmony_ciexport default napitest;
64