import { TopoDS_Shape } from "../bitbybit-dev-occt/bitbybit-dev-occt"; import { Inputs, OCCTTransforms } from "./index"; import * as Models from "./api/models"; /** * What a value looks like after ShapeParser.parse: every shape object in it has been replaced by * the id it was registered under, everything else keeps its type. */ export type WithShapeIds = T extends TopoDS_Shape ? string : T extends object ? { [K in keyof T]: WithShapeIds; } : T; export declare class ShapeParser { static parse(obj: T, partShapes: Models.OCCT.ShapeWithId[], prefix: string): WithShapeIds; static alignAndTranslateShapesWithChildren(part: T, transforms: OCCTTransforms, rotation: number, direction: Inputs.Base.Vector3, center: Inputs.Base.Point3, scale?: Inputs.Base.Vector3): T; static deleteAllShapes(part: T): void; static deepCopy(part: T): T & { shapes: { [x: string]: TopoDS_Shape; }; }; }