import { Geom_Surface, OpenCascadeInstance, TopoDS_Compound, TopoDS_Edge, TopoDS_Wire } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import * as Inputs from "../../api/inputs/inputs";
import { Base } from "../../api/inputs/base-inputs";
import { ShapesHelperService } from "../../api/shapes-helper.service";
import { OCCReferencedReturns } from "../../occ-referenced-returns";
import { VectorHelperService } from "../../api/vector-helper.service";
import { EdgesService } from "./edges.service";
import { ShapeGettersService } from "./shape-getters";
import { EntitiesService } from "./entities.service";
import { GeomService } from "./geom.service";
import { TransformsService } from "./transforms.service";
import { ConverterService } from "./converter.service";
import { EnumService } from "./enum.service";
import { BooleansService } from "./booleans.service";
export declare class WiresService {
    private readonly occ;
    private readonly occRefReturns;
    private readonly vecHelper;
    private readonly shapesHelperService;
    private readonly shapeGettersService;
    private readonly transformsService;
    private readonly enumService;
    private readonly entitiesService;
    private readonly converterService;
    private readonly geomService;
    private readonly edgesService;
    private readonly booleansService;
    constructor(occ: OpenCascadeInstance, occRefReturns: OCCReferencedReturns, vecHelper: VectorHelperService, shapesHelperService: ShapesHelperService, shapeGettersService: ShapeGettersService, transformsService: TransformsService, enumService: EnumService, entitiesService: EntitiesService, converterService: ConverterService, geomService: GeomService, edgesService: EdgesService, booleansService: BooleansService);
    getWireLength(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): number;
    getWiresLengths(inputs: Inputs.OCCT.ShapesDto<TopoDS_Wire>): number[];
    createRectangleWire(inputs: Inputs.OCCT.RectangleDto): TopoDS_Wire;
    createSquareWire(inputs: Inputs.OCCT.SquareDto): TopoDS_Wire;
    reversedWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): TopoDS_Wire;
    reversedWireFromReversedEdges(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): TopoDS_Wire;
    createChristmasTreeWire(inputs: Inputs.OCCT.ChristmasTreeDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createStarWire(inputs: Inputs.OCCT.StarDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createParallelogramWire(inputs: Inputs.OCCT.ParallelogramDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createHeartWire(inputs: Inputs.OCCT.Heart2DDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createNGonWire(inputs: Inputs.OCCT.NGonWireDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createLPolygonWire(inputs: Inputs.OCCT.LPolygonDto): import("../../../bitbybit-dev-occt/bitbybit-dev-occt").TopoDS_Shape;
    createPolygonWire(inputs: Inputs.OCCT.PolygonDto): TopoDS_Wire;
    createPolylineWire(inputs: Inputs.OCCT.PolylineDto): TopoDS_Wire;
    createLineWire(inputs: Inputs.OCCT.LineDto): TopoDS_Wire;
    private makeWireBetweenTwoPoints;
    divideWireByParamsToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Wire>): Inputs.Base.Point3[];
    divideWireByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideDto<TopoDS_Wire>): Base.Point3[];
    pointOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Wire>): Base.Point3;
    tangentOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<TopoDS_Wire>): Base.Point3;
    pointOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Wire>): Base.Point3;
    pointsOnWireAtLengths(inputs: Inputs.OCCT.DataOnGeometryAtLengthsDto<TopoDS_Wire>): Base.Point3[];
    pointsOnWireAtEqualLength(inputs: Inputs.OCCT.PointsOnWireAtEqualLengthDto<TopoDS_Wire>): Base.Point3[];
    pointsOnWireAtPatternOfLengths(inputs: Inputs.OCCT.PointsOnWireAtPatternOfLengthsDto<TopoDS_Wire>): Base.Point3[];
    tangentOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<TopoDS_Wire>): Base.Point3;
    interpolatePoints(inputs: Inputs.OCCT.InterpolationDto): TopoDS_Wire;
    isWireClosed(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): boolean;
    splitOnPoints(inputs: Inputs.OCCT.SplitWireOnPointsDto<TopoDS_Wire>): TopoDS_Wire[];
    createLines(inputs: Inputs.OCCT.LinesDto): TopoDS_Wire[] | TopoDS_Compound;
    createWireFromTwoCirclesTan(inputs: Inputs.OCCT.WireFromTwoCirclesTanDto<TopoDS_Wire>): TopoDS_Wire;
    createZigZagBetweenTwoWires(inputs: Inputs.OCCT.ZigZagBetweenTwoWiresDto<TopoDS_Wire>): TopoDS_Wire;
    getWireCenterOfMass(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): Base.Point3;
    createWireFromEdge(inputs: Inputs.OCCT.ShapeDto<TopoDS_Edge>): TopoDS_Wire;
    createBSpline(inputs: Inputs.OCCT.BSplineDto): TopoDS_Wire;
    createBezier(inputs: Inputs.OCCT.BezierDto): TopoDS_Wire;
    createBezierWeights(inputs: Inputs.OCCT.BezierWeightsDto): TopoDS_Wire;
    addEdgesAndWiresToWire(inputs: Inputs.OCCT.ShapeShapesDto<TopoDS_Wire, TopoDS_Wire | TopoDS_Edge>): TopoDS_Wire;
    startPointOnWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): Base.Point3;
    endPointOnWire(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): Base.Point3;
    placeWire(wire: TopoDS_Wire, surface: Geom_Surface): TopoDS_Wire;
}
