import { TopoDS_Face, OpenCascadeInstance, TopoDS_Wire, TopoDS_Shape, TopoDS_Edge } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import { OccHelper } from "../../occ-helper";
import * as Inputs from "../../api/inputs/inputs";
export declare class OCCTWire {
    private readonly occ;
    private readonly och;
    constructor(occ: OpenCascadeInstance, och: OccHelper);
    createPolygonWire(inputs: Inputs.OCCT.PolygonDto): TopoDS_Wire;
    createPolylineWire(inputs: Inputs.OCCT.PolylineDto): TopoDS_Wire;
    combineEdgesAndWiresIntoAWire(inputs: Inputs.OCCT.ShapesDto<TopoDS_Wire | TopoDS_Edge>): TopoDS_Wire;
    addEdgesAndWiresToWire(inputs: Inputs.OCCT.ShapeShapesDto<TopoDS_Wire, TopoDS_Wire | TopoDS_Edge>): TopoDS_Wire;
    createBSpline(inputs: Inputs.OCCT.BSplineDto): TopoDS_Wire;
    divideWireByParamsToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Wire>): Inputs.Base.Point3[];
    divideWireByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Wire>): Inputs.Base.Point3[];
    pointOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Wire>): Inputs.Base.Point3;
    pointOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Wire>): Inputs.Base.Point3;
    tangentOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Wire>): Inputs.Base.Point3;
    tangentOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Wire>): Inputs.Base.Point3;
    derivativesOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Wire>): [Inputs.Base.Vector3, Inputs.Base.Vector3, Inputs.Base.Vector3];
    derivativesOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Wire>): [Inputs.Base.Vector3, Inputs.Base.Vector3, Inputs.Base.Vector3];
    startPointOnWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): Inputs.Base.Point3;
    endPointOnWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): Inputs.Base.Point3;
    createBezier(inputs: Inputs.OCCT.BezierDto): TopoDS_Wire;
    interpolatePoints(inputs: Inputs.OCCT.InterpolationDto): TopoDS_Wire;
    createCircleWire(inputs: Inputs.OCCT.CircleDto): TopoDS_Wire;
    createEllipseWire(inputs: Inputs.OCCT.EllipseDto): TopoDS_Wire;
    createSquareWire(inputs: Inputs.OCCT.SquareDto): TopoDS_Wire;
    createStarWire(inputs: Inputs.OCCT.StarDto): TopoDS_Wire;
    createParallelogramWire(inputs: Inputs.OCCT.ParallelogramDto): TopoDS_Wire;
    createHeartWire(inputs: Inputs.OCCT.Heart2DDto): TopoDS_Wire;
    createNGonWire(inputs: Inputs.OCCT.NGonWireDto): TopoDS_Wire;
    createRectangleWire(inputs: Inputs.OCCT.RectangleDto): TopoDS_Wire;
    createLPolygonWire(inputs: Inputs.OCCT.LPolygonDto): TopoDS_Wire;
    getWire(inputs: Inputs.OCCT.ShapeIndexDto<TopoDS_Shape>): TopoDS_Wire;
    getWires(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Wire[];
    getWireLength(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): number;
    getWiresLengths(inputs: Inputs.OCCT.ShapesDto<TopoDS_Wire>): number[];
    reversedWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): TopoDS_Wire;
    placeWireOnFace(inputs: Inputs.OCCT.ShapesDto<TopoDS_Wire | TopoDS_Face>): TopoDS_Wire;
    placeWiresOnFace(inputs: Inputs.OCCT.ShapeShapesDto<TopoDS_Face, TopoDS_Wire>): TopoDS_Wire[];
    private placeWire;
}
