///
import { execSync as nodeExecSync } from "child_process";
export declare function addIncludeDir(dir: string): void;
export declare const execSync: typeof nodeExecSync;
export declare function execLargeJSON(command: string): Promise;
export declare function clangGetAstJson(headerPath: string): Promise;
export declare function clangCompileAndRunReadOut(code: string): string;
export declare function clangClean(): Promise;
export declare class ClangTypeInfoCache {
readonly cacheFilePath: string;
constructor(cacheFilePath: string);
sizeOf: Record;
offsetOf: Record;
save(): Promise;
static create(cacheFilePath: string): Promise;
}
export declare function clangGetSizeOf(headerPath: string, cTypeName: string, cache?: ClangTypeInfoCache): number;
export declare function clangGetOffsetOf(headerPath: string, cTypeName: string, fieldName: string, cache?: ClangTypeInfoCache): number;