import { Geom2d_Curve, Geom_Surface, OpenCascadeInstance, TopoDS_Edge, TopoDS_Shape, TopoDS_Wire } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import { OccHelper } from "../../occ-helper";
import * as Inputs from "../../api/inputs/inputs";
export declare class OCCTEdge {
    private readonly occ;
    private readonly och;
    constructor(occ: OpenCascadeInstance, och: OccHelper);
    makeEdgeFromGeom2dCurveAndSurface(inputs: Inputs.OCCT.CurveAndSurfaceDto<Geom2d_Curve, Geom_Surface>): TopoDS_Edge | import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Face | import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Compound | TopoDS_Wire | import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Vertex | import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shell | import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Solid;
    line(inputs: Inputs.OCCT.LineDto): TopoDS_Edge;
    arcThroughThreePoints(inputs: Inputs.OCCT.ArcEdgeThreePointsDto): TopoDS_Edge;
    createCircleEdge(inputs: Inputs.OCCT.CircleDto): TopoDS_Edge;
    createEllipseEdge(inputs: Inputs.OCCT.EllipseDto): TopoDS_Edge;
    removeInternalEdges(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Shape;
    getEdge(inputs: Inputs.OCCT.EdgeIndexDto<TopoDS_Shape>): TopoDS_Edge;
    edgesToPoints(inputs: Inputs.OCCT.EdgesToPointsDto<TopoDS_Shape>): Inputs.Base.Point3[][];
    reversedEdge(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): TopoDS_Edge;
    pointOnEdgeAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Edge>): Inputs.Base.Point3;
    tangentOnEdgeAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Edge>): Inputs.Base.Vector3;
    startPointOnEdge(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): Inputs.Base.Point3;
    endPointOnEdge(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): Inputs.Base.Point3;
    pointOnEdgeAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Edge>): Inputs.Base.Point3;
    tangentOnEdgeAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Edge>): Inputs.Base.Vector3;
    divideEdgeByParamsToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Edge>): Inputs.Base.Point3[];
    divideEdgeByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Edge>): Inputs.Base.Point3[];
    getEdges(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Edge[];
    getEdgesAlongWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): TopoDS_Edge[];
    getEdgeLength(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): number;
    getEdgesLengths(inputs: Inputs.OCCT.ShapesDto<TopoDS_Edge>): number[];
    getEdgeCenterOfMass(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): Inputs.Base.Point3;
    getEdgesCentersOfMass(inputs: Inputs.OCCT.ShapesDto<TopoDS_Edge>): Inputs.Base.Point3[];
    getCornerPointsOfEdgesForShape(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): Inputs.Base.Point3[];
}
