import { OCCTWorkerManager } from "../../occ-worker/occ-worker-manager";
import { OCCTShapes } from "./shapes/shapes";
import { OCCTTransforms } from "./transforms";
import { OCCTOperations } from "./operations";
import { OCCTBooleans } from "./booleans";
import { OCCTIO } from "./io";
import { OCCTGeom } from "./geom/geom";
import { OCCTAssembly } from "./assembly/assembly";
import { OCCTFillets } from "./fillets";
import { Inputs } from "@bitbybit-dev/occt";
import { OCCTShapeFix } from "./shape-fix";
import { OCCTDimensions } from "./dimensions";
/**
 * Contains various methods for OpenCascade implementation
 */
export declare class OCCT {
    readonly occWorkerManager: OCCTWorkerManager;
    readonly shapes: OCCTShapes;
    readonly geom: OCCTGeom;
    readonly fillets: OCCTFillets;
    readonly transforms: OCCTTransforms;
    readonly operations: OCCTOperations;
    readonly booleans: OCCTBooleans;
    readonly dimensions: OCCTDimensions;
    readonly shapeFix: OCCTShapeFix;
    readonly assembly: OCCTAssembly;
    io: OCCTIO;
    constructor(occWorkerManager: OCCTWorkerManager);
    /**
     * Creates polygon points from the shape faces
     * @param inputs shape
     * @group convert
     * @shortname faces to polygon points
     * @drawable false
     */
    shapeFacesToPolygonPoints(inputs: Inputs.OCCT.ShapeFacesToPolygonPointsDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.Base.Point3[][]>;
    /**
     * Creates mesh from the shape
     * @param inputs shape
     * @group convert
     * @shortname shape to mesh
     * @drawable false
     */
    shapeToMesh(inputs: Inputs.OCCT.ShapeToMeshDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.DecomposedMeshDto>;
    /**
     * Creates mesh from the shape
     * @param inputs shape
     * @group convert
     * @shortname shape to mesh
     * @drawable false
     */
    shapesToMeshes(inputs: Inputs.OCCT.ShapesToMeshesDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.DecomposedMeshDto[]>;
    /**
     * Deletes shape from the cache to keep memory usage low
     * @param inputs shape
     * @group memory
     * @shortname delete shape
     */
    deleteShape(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<void>;
    /**
     * Deletes shapes from the cache to keep memory usage low
     * @param inputs shape
     * @group memory
     * @shortname delete shapes
     */
    deleteShapes(inputs: Inputs.OCCT.ShapesDto<Inputs.OCCT.TopoDSShapePointer>): Promise<void>;
    /**
     * Cleans all cache and all shapes from the memory
     * @param inputs shape
     * @group memory
     * @shortname clean all cache
     */
    cleanAllCache(): Promise<void>;
}
