import { ArkFile } from '../../../../core/model/ArkFile'; import { ArkClass } from '../../../../core/model/ArkClass'; import type { CxxAstNode } from '../../utils/ArkCxxAstNode'; import { Scene } from '../../../../Scene'; import { FrontendParseFailure } from '../../../FrontendBuilder'; export interface CppStreamBuildResult { arkFiles: ArkFile[]; failedFiles: FrontendParseFailure[]; } /** * C++ AST manifest pipeline: addon emits per-TU records, consumed synchronously per record. */ export declare function prepareArkFiles(scene: Scene, absoluteSourceFiles: string[], maxParallelProcesses?: number, maxPendingAstResults?: number, logAstInfo?: boolean): CppStreamBuildResult; export declare function prepareArkFile(scene: Scene, absoluteFilePath: string, targetArkFile: ArkFile, logAstInfo?: boolean): void; /** * Imports-only variant of {@link prepareArkFile}. Parses the C++ AST for the given * file and populates only basic file metadata and ImportInfo (#include directives * and using-namespace declarations). Does NOT build ArkClass/ArkMethod/ArkNamespace/ArkBody. * * @param arkFile - Pre-allocated ArkFile to populate (must have scene and file path set). */ export declare function buildImportExportInfoFromFile(arkFile: ArkFile): void; export declare const classMap: Map; export declare function buildArkClassFromCxxClass(classNode: CxxAstNode, arkFile: ArkFile, astRoot: CxxAstNode): void; //# sourceMappingURL=ArkFileBuilder.d.ts.map