1/* 2 * Copyright (c) 2025 Huawei Device 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 */ 15function TestCbV(f: () => void): void; 16function TestCbI(f: (a: i32) => void): void; 17function TestCbS(f: (a: String, b: bool) => void): void; 18function TestCbRs(f: (a: String) => String): String; 19 20function TestCbStruct(f: (data: Data) => Data): void; 21 22struct Data { 23 a: String; 24 b: String; 25 c: i32; 26} 27 28enum EnumData: i32 { 29 F32_A = 123, 30 F32_B = 456, 31} 32 33interface MyInterface { 34 TestCbIntString(f: (a: i8, b: i32) => void): String; 35 TestCbIntBool(f: (a: i16, b: i64) =>void): bool; 36 TestCbEnum(f:(a: i32) => void): EnumData; 37} 38function GetInterface(): MyInterface; 39 40