import { OpenCascadeInstance, TopoDS_Edge, TopoDS_Face, TopoDS_Shape, TopoDS_Solid, TopoDS_Vertex, TopoDS_Wire, TopoDS_Compound } from "../../../bitbybit-dev-occt/bitbybit-dev-occt";
import * as Inputs from "../../api/inputs/inputs";
import { EnumService } from "./enum.service";
import { IteratorService } from "./iterator.service";
interface TopoDS_ShapeHash extends TopoDS_Shape {
    hash?: number;
}
export declare class ShapeGettersService {
    private readonly occ;
    private readonly enumService;
    private readonly iteratorService;
    constructor(occ: OpenCascadeInstance, enumService: EnumService, iteratorService: IteratorService);
    getNumSolidsInCompound(shape: TopoDS_Shape): number;
    getSolidFromCompound(shape: TopoDS_ShapeHash, index: number): TopoDS_ShapeHash;
    getEdges(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Edge[];
    getEdge(inputs: Inputs.OCCT.EdgeIndexDto<TopoDS_Shape>): TopoDS_Edge;
    getWires(inputs: Inputs.OCCT.ShapeDto<TopoDS_Wire>): TopoDS_Wire[];
    getWire(inputs: Inputs.OCCT.ShapeIndexDto<TopoDS_Shape>): TopoDS_Wire;
    getFaces(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Face[];
    getSolids(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Solid[];
    getFace(inputs: Inputs.OCCT.ShapeIndexDto<TopoDS_Shape>): TopoDS_Face;
    getVertices(inputs: Inputs.OCCT.ShapeDto<TopoDS_Shape>): TopoDS_Vertex[];
    getShapesOfCompound(inputs: Inputs.OCCT.ShapeDto<TopoDS_Compound>): TopoDS_Shape[];
}
export {};
