import { Expression, Statement, Struct } from "@specs-feup/clava/api/Joinpoints.js"; import { AdvancedTransform } from "../AdvancedTransform.js"; export declare class StructFlattener extends AdvancedTransform { constructor(silent?: boolean); decomposeAll(): string[]; decomposeByName(name: string): void; decomposeStruct(struct: Struct): void; private decompose; private findAllStructs; private findAllStructlikeClasses; getStructName(struct: Struct): string; private getAllDeclsOfStruct; private decomposeDeclAndRefs; private decomposeDecl; private isInitialized; private createNewVarsNoInit; private createNewVarsWithInit; private replaceRef; private replaceRefByField; private replaceStructToStructAssignment; private replaceArrayRefByField; private replaceRefArg; private getAllParamsOfStruct; private decomposeParam; private replaceParamByFields; } export declare class StructDecomposerUtil { static generateMemcpy(dest: Expression, source: Expression, size: Expression): Statement; } //# sourceMappingURL=StructFlattener.d.ts.map