import * as THREE from 'three'; export declare type CCLineInfo = { start: THREE.Vector3; end: THREE.Vector3; dir: THREE.Vector3; }; export declare type CCArcInfo = { start: THREE.Vector3; end: THREE.Vector3; center: THREE.Vector3; radius: number; clockwise: boolean; startAngle: number; endAngle: number; angularLength: number; }; export declare type CCCircleInfo = { center: THREE.Vector3; radius: number; }; export declare type SketchObjInfo = CCLineInfo | CCArcInfo | CCCircleInfo; export declare function getNormalizedPosition(point: THREE.Vector3, sketchObject: SketchObjInfo): number; export declare function getParameterizedPosition(t: number, sketchObject: SketchObjInfo): THREE.Vector3; export declare function intersectLineLine(line1: CCLineInfo, line2: CCLineInfo): number[][]; export declare function intersectLineCircle(line: CCLineInfo, circle: CCCircleInfo | CCArcInfo): number[][]; export declare function intersectLineArc(line: CCLineInfo, arc: CCArcInfo): number[][]; export declare function intersectCircleCircle(circle1: CCCircleInfo | CCArcInfo, circle2: CCCircleInfo | CCArcInfo): number[][]; export declare function intersectArcArc(arc1: CCArcInfo, arc2: CCArcInfo): number[][]; export declare function intersectArcCircle(arc: CCArcInfo, circle: CCCircleInfo): number[][];