import { OccHelper } from "../../occ-helper";
import { OpenCascadeInstance, TopoDS_Shape, TopoDS_Shell, TopoDS_Solid } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import * as Inputs from "../../api/inputs/inputs";
import { Base } from "../../api/inputs/inputs";
export declare class OCCTSolid {
    private readonly occ;
    private readonly och;
    constructor(occ: OpenCascadeInstance, och: OccHelper);
    fromClosedShell(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shell>): TopoDS_Solid;
    createBox(inputs: Inputs.OCCT.BoxDto): TopoDS_Solid;
    createCube(inputs: Inputs.OCCT.CubeDto): TopoDS_Solid;
    createBoxFromCorner(inputs: Inputs.OCCT.BoxFromCornerDto): TopoDS_Solid;
    createCylinder(inputs: Inputs.OCCT.CylinderDto): TopoDS_Solid;
    createCylindersOnLines(inputs: Inputs.OCCT.CylindersOnLinesDto): TopoDS_Solid[];
    createSphere(inputs: Inputs.OCCT.SphereDto): TopoDS_Shape;
    createCone(inputs: Inputs.OCCT.ConeDto): TopoDS_Shape;
    createIBeamProfileSolid(inputs: Inputs.OCCT.IBeamProfileSolidDto): TopoDS_Solid;
    createHBeamProfileSolid(inputs: Inputs.OCCT.HBeamProfileSolidDto): TopoDS_Solid;
    createTBeamProfileSolid(inputs: Inputs.OCCT.TBeamProfileSolidDto): TopoDS_Solid;
    createUBeamProfileSolid(inputs: Inputs.OCCT.UBeamProfileSolidDto): TopoDS_Solid;
    createStarSolid(inputs: Inputs.OCCT.StarSolidDto): TopoDS_Solid;
    createNGonSolid(inputs: Inputs.OCCT.NGonSolidDto): TopoDS_Solid;
    createParallelogramSolid(inputs: Inputs.OCCT.ParallelogramSolidDto): TopoDS_Solid;
    createHeartSolid(inputs: Inputs.OCCT.HeartSolidDto): TopoDS_Solid;
    createChristmasTreeSolid(inputs: Inputs.OCCT.ChristmasTreeSolidDto): TopoDS_Solid;
    createLPolygonSolid(inputs: Inputs.OCCT.LPolygonSolidDto): TopoDS_Solid;
    private extrudeFaceToSolid;
    getSolidSurfaceArea(inputs: Inputs.OCCT.ShapeDto<TopoDS_Solid>): number;
    getSolidVolume(inputs: Inputs.OCCT.ShapeDto<TopoDS_Solid>): number;
    getSolidsVolumes(inputs: Inputs.OCCT.ShapesDto<TopoDS_Solid>): number[];
    getSolidCenterOfMass(inputs: Inputs.OCCT.ShapeDto<TopoDS_Solid>): Base.Point3;
    getSolidsCentersOfMass(inputs: Inputs.OCCT.ShapesDto<TopoDS_Solid>): Base.Point3[];
    getSolids(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Solid[];
    filterSolidPoints(inputs: Inputs.OCCT.FilterSolidPointsDto<TopoDS_Solid>): Base.Point3[];
}
