import * as THREE from 'three'; import { DrawingID, ObjectID } from '@buerli.io/core'; import { ScgClassType } from '@buerli.io/classcad'; import { CCArcInfo, CCCircleInfo, CCLineInfo } from '../../../../utils/sketchIntersectionUtils'; declare type CommonInfo = { class: ScgClassType.CCLine | ScgClassType.CCArc | ScgClassType.CCCircle; bb: THREE.Box2; isSplittable: boolean; }; declare type CCLineInfoE = CommonInfo & CCLineInfo; declare type CCArcInfoE = CommonInfo & CCArcInfo; declare type CCCircleInfoE = CommonInfo & CCCircleInfo; export declare type SketchObjInfoE = CCLineInfoE | CCArcInfoE | CCCircleInfoE; export declare function getSketchObjInfo(drawingId: DrawingID, objId: ObjectID, unsplittableIds: ObjectID[]): CCLineInfoE | CCCircleInfoE | undefined; export declare function getRigidsetEntityIds(drawingId: DrawingID, sketchId: ObjectID): number[]; export declare function calculateIntersections(object: SketchObjInfoE, sketchObjects: SketchObjInfoE[]): number[]; export declare function calculateClosestIntersection(point: THREE.Vector3, object1: SketchObjInfoE, object2: SketchObjInfoE): number[][]; export declare function getClosestPoint(point: THREE.Vector3, sketchObject: SketchObjInfoE): THREE.Vector3; export {};