import { ArkFile } from '../../../core/model/ArkFile'; import { ArkExport, ExportInfo, FromInfo } from '../../../core/model/ArkExport'; import { ImportInfo } from '../../../core/model/ArkImport'; import { ArkMethod } from '../../../core/model/ArkMethod'; import { ArkClass } from '../../../core/model/ArkClass'; import { Value } from '../../../core/base/Value'; import { ArkNamespace } from '../../../core/model/ArkNamespace'; import { ArkField } from '../../../core/model/ArkField'; import { MethodParameter } from '../../../core/model/builder/ArkMethodBuilder'; import { Scene } from '../../../Scene'; /** * find arkFile by from info * #include "xx/xx.h" * @param im importInfo or exportInfo */ export declare function getArkFile(im: FromInfo): ArkFile | null | undefined; /** * #include "xx/xx.h" ==> Precompilation directly expands ==> Equivalent to importing all content of the file ==> Get exportInfo directly from header file * find from info's export * @param fromInfo importInfo or exportInfo * @param fromFile The file where the imported object is located */ export declare function findExportInfo(fromInfo: FromInfo, fromFile?: ArkFile | null): ExportInfo | null; export declare function shouldAddCxxHeaderImport(element: ImportInfo): boolean; /** * Record the mapping relationship between cpp functions and ts functions (when there are napi_property_descriptor and napi_define_class identifiers) * @param elementValues Value of each actual parameter of the function describing the mapping relationship * @param isDefineClass Whether it is a napi_define_class identifier * @param declMethod The ArkMethod where the call is located * @return None */ export declare function setTs2CxxFuncMapOfClass(elementValues: Value[], isDefineClass: boolean, declMethod: ArkMethod): void; export declare class CxxModelUtils { static getArkExportInImportInfoWithName(name: string, arkFile: ArkFile, arkClass?: ArkClass): ArkExport | null; static findPropertyInClass(name: string, arkClass: ArkClass): ArkExport | ArkField | null; static getClassFromAnonymousNamespaceByName(className: string, declFile: ArkFile): ArkClass | null; static getStaticMethodWithName(methodName: string, thisClass: ArkClass): ArkMethod | null; static getStaticMethodInFileWithName(methodName: string, arkFile: ArkFile): ArkMethod | null; static getAccessibleAnonNamespacesInFile(file: ArkFile, namespace?: ArkNamespace): ArkNamespace[]; static findPropertyInNamespace(name: string, namespace: ArkNamespace): ArkExport | undefined; static findSymbolInFileWithName(symbolName: string, arkClass: ArkClass, onlyType?: boolean): ArkExport | null; static isIOStreamObjectMatched(parameters: MethodParameter[], args: Value[], scene: Scene): boolean; } //# sourceMappingURL=ModelUtils.d.ts.map