import { Adaptor3d_Curve, BRepAdaptor_CompCurve_2, Geom_Curve, OpenCascadeInstance, TopoDS_Shape } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import * as Inputs from "../../api/inputs/inputs";
import { Base } from "../../api/inputs/base-inputs";
import { VectorHelperService } from "../../api/vector-helper.service";
import { EntitiesService } from "./entities.service";
export declare class GeomService {
    readonly occ: OpenCascadeInstance;
    private readonly vecHelper;
    private readonly entitiesService;
    constructor(occ: OpenCascadeInstance, vecHelper: VectorHelperService, entitiesService: EntitiesService);
    curveLength(inputs: Inputs.OCCT.ShapeDto<Adaptor3d_Curve>): number;
    pointOnCurveAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<Geom_Curve | BRepAdaptor_CompCurve_2>): Base.Point3;
    pointOnCurveAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<Adaptor3d_Curve>): Base.Point3;
    pointsOnCurveAtLengths(inputs: Inputs.OCCT.DataOnGeometryAtLengthsDto<Adaptor3d_Curve>): Base.Point3[];
    tangentOnCurveAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<Adaptor3d_Curve>): Base.Point3;
    tangentOnCurveAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<Geom_Curve | BRepAdaptor_CompCurve_2>): Base.Point3;
    divideCurveByEqualLengthDistance(inputs: Inputs.OCCT.DivideDto<Adaptor3d_Curve>): Base.Point3[];
    divideCurveToNrSegments(inputs: Inputs.OCCT.DivideDto<Geom_Curve | BRepAdaptor_CompCurve_2>, uMin: number, uMax: number): Base.Point3[];
    startPointOnCurve(inputs: Inputs.OCCT.ShapeDto<Geom_Curve | BRepAdaptor_CompCurve_2>): Inputs.Base.Point3;
    endPointOnCurve(inputs: Inputs.OCCT.ShapeDto<Geom_Curve | BRepAdaptor_CompCurve_2>): Inputs.Base.Point3;
    getLinearCenterOfMass(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): Base.Point3;
}
