import { OpenCascadeInstance, TopoDS_Compound, TopoDS_Shape, TopoDS_Vertex } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import * as Inputs from "../../api/inputs/inputs";
import { BooleansService } from "./booleans.service";
import { ConverterService } from "./converter.service";
import { EntitiesService } from "./entities.service";
import { ShapeGettersService } from "./shape-getters";
import { WiresService } from "./wires.service";
export declare class VerticesService {
    private readonly occ;
    private readonly entitiesService;
    private readonly converterService;
    private readonly shapeGettersService;
    wiresService: WiresService;
    booleansService: BooleansService;
    constructor(occ: OpenCascadeInstance, entitiesService: EntitiesService, converterService: ConverterService, shapeGettersService: ShapeGettersService, wiresService: WiresService, booleansService: BooleansService);
    vertexFromXYZ(inputs: Inputs.OCCT.XYZDto): TopoDS_Vertex;
    vertexFromPoint(inputs: Inputs.OCCT.PointDto): TopoDS_Vertex;
    verticesFromPoints(inputs: Inputs.OCCT.PointsDto): TopoDS_Vertex[];
    verticesCompoundFromPoints(inputs: Inputs.OCCT.PointsDto): TopoDS_Compound;
    getVertices(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Vertex[];
    getVerticesAsPoints(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): Inputs.Base.Point3[];
    verticesToPoints(inputs: Inputs.OCCT.ShapesDto<TopoDS_Vertex>): Inputs.Base.Point3[];
    pointsToVertices(inputs: Inputs.OCCT.ShapesDto<TopoDS_Vertex>): Inputs.Base.Point3[];
    vertexToPoint(inputs: Inputs.OCCT.ShapeDto<TopoDS_Vertex>): Inputs.Base.Point3;
    projectPoints(inputs: Inputs.OCCT.ProjectPointsOnShapeDto<TopoDS_Shape>): Inputs.Base.Point3[];
    private getClosestPointFromPoints;
    private getFurthestPointFromPoints;
    private distanceBetweenTwoPoints;
}
