1/*
2* Copyright (c) 2023 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*/
15import { AsyncCallback, Callback } from './basic';
16
17declare namespace napitest {
18
19  export class A {
20    a: string;
21  }
22
23  export interface InterfaceA {
24    // callFunction: (result: number) => void;
25    onCallFunction(res: number): void;
26  }
27
28  // export const addByClass: (a: A, b: number, callback: (result: number) => void, c: InterfaceA) => number;
29
30  export interface InterfaceB {
31    // register形式注册回调
32    registerInterfaceB(callback: (dd: number) => void); 
33    // unRegister形式注销回调
34    unRegisterInterfaceB(callback: (dd: number) => void); 
35
36    // object注册回调
37    addInterfaceAListener(listener: InterfaceA);
38    removeInterfaceAListener(listener: InterfaceA);
39
40    // 调用回调 
41    gByClass: (a: A, b: number) => number;  
42  }
43 
44}
45
46export default napitest;
47