/* * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AsyncCallback, Callback } from './basic'; declare namespace napitest { // 测试普通方法 function funcTest(v: boolean): string; // 测试注册回调与调用回调 export class NodeISayHello { // 注册object回调 addSayHelloListener(listener: NodeISayHelloListener); // 注销object回调 removeSayHelloListener(listener: NodeISayHelloListener); // register注册回调 registerCallbackfunc(cb : (wid: number) => string); // unRegister注销回调 unRegisterCallbackfunc(cb : (wid: number) => string); // 调用注册的object回调 sayHello(from: string, to: string, sayType: SayType); // 调用register注册的回调 sayHi(from: string, to: string, sayType: SayType); // promise回调 sayHelloWithResponse(from: string, to: string, sayType: SayType): Promise<{result: number, errMsg: string, response: string}>; } export class NodeISayHelloListener { onSayHelloStart(info: SayInfo); onSayHelloEnd(info: SayInfo); } export enum SayType { /** 0 主动说话 */ kInitiative, /** 1 回应对方 */ kResponse, } export type SayInfo = { from: string; fromId?: number; to: string; toId?: number; content: string; saidTime: string; isEnd: boolean; } } export default napitest;