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 DataInfo {
198c339a94Sopenharmony_ci        dataName: string;
208c339a94Sopenharmony_ci        dataIndex: number;
218c339a94Sopenharmony_ci    }
228c339a94Sopenharmony_ci
238c339a94Sopenharmony_ci    export enum EOptions {
248c339a94Sopenharmony_ci        OPTION0 = 0,
258c339a94Sopenharmony_ci        OPTION1 = 500,
268c339a94Sopenharmony_ci        OPTION2 = 503,
278c339a94Sopenharmony_ci    }
288c339a94Sopenharmony_ci
298c339a94Sopenharmony_ci    class TestClass1 {
308c339a94Sopenharmony_ci        fun10(): Promise<void>;
318c339a94Sopenharmony_ci        fun11(): Promise<number>;
328c339a94Sopenharmony_ci        fun12(): Promise<boolean>;
338c339a94Sopenharmony_ci        fun13(): Promise<string>;
348c339a94Sopenharmony_ci        fun14(v1: number): Promise<DataInfo>;
358c339a94Sopenharmony_ci        fun15(v1: number): Promise<DataInfo>;
368c339a94Sopenharmony_ci        fun16(v1: number): Promise<Array<string>>;
378c339a94Sopenharmony_ci
388c339a94Sopenharmony_ci        funX11(v1: number, v2: string, cb: AsyncCallback<string>): void;
398c339a94Sopenharmony_ci        funX11(v1: number, v2: string, ): Promise<string>;
408c339a94Sopenharmony_ci
418c339a94Sopenharmony_ci        funX12(v1: number, v2: string, ): Promise<number>;
428c339a94Sopenharmony_ci        funX12(v1: number, v2: string, cb: AsyncCallback<number>): void;
438c339a94Sopenharmony_ci    }
448c339a94Sopenharmony_ci
458c339a94Sopenharmony_ci    function fun0(): Promise<void>;
468c339a94Sopenharmony_ci    function fun1(): Promise<number>;
478c339a94Sopenharmony_ci    function fun2(): Promise<boolean>;
488c339a94Sopenharmony_ci    function fun3(): Promise<string>;
498c339a94Sopenharmony_ci    function fun4(v1: number): Promise<DataInfo>;
508c339a94Sopenharmony_ci    function fun5(v1: number): Promise<EOptions>;
518c339a94Sopenharmony_ci    function fun6(v1: number): Promise<Array<string>>;
528c339a94Sopenharmony_ci
538c339a94Sopenharmony_ci    function funX1(v1: number, v2: string, cb: AsyncCallback<string>): void;
548c339a94Sopenharmony_ci    function funX1(v1: number, v2: string): Promise<string>;
558c339a94Sopenharmony_ci
568c339a94Sopenharmony_ci    function funX2(v1: number, v2: string): Promise<number>;
578c339a94Sopenharmony_ci    function funX2(v1: number, v2: string, cb: AsyncCallback<number>): void;
588c339a94Sopenharmony_ci}
598c339a94Sopenharmony_ci
608c339a94Sopenharmony_ciexport default napitest;
61